aboutsummaryrefslogtreecommitdiffstats
path: root/railties/generators/new_mailer.rb
diff options
context:
space:
mode:
Diffstat (limited to 'railties/generators/new_mailer.rb')
-rw-r--r--railties/generators/new_mailer.rb43
1 files changed, 43 insertions, 0 deletions
diff --git a/railties/generators/new_mailer.rb b/railties/generators/new_mailer.rb
new file mode 100644
index 0000000000..05d0c9ae82
--- /dev/null
+++ b/railties/generators/new_mailer.rb
@@ -0,0 +1,43 @@
+#!/usr/local/bin/ruby
+require File.dirname(__FILE__) + '/../config/environment'
+require 'generator'
+
+unless ARGV.empty?
+ rails_root = File.dirname(__FILE__) + '/..'
+ name = ARGV.shift
+ actions = ARGV
+ Generator::Mailer.new(rails_root, name, actions).generate
+else
+ puts <<-END_HELP
+
+NAME
+ new_mailer - create mailer and view stub files
+
+SYNOPSIS
+ new_mailer MailerName action [action ...]
+
+DESCRIPTION
+ The new_mailer generator takes the name of the new mailer class as the
+ first argument and a variable number of mail action names as subsequent
+ arguments.
+
+ From the passed arguments, new_mailer generates a class file in
+ app/models with a mail action for each of the mail action names passed.
+ It then creates a mail test suite in test/unit with one stub test case
+ and one stub fixture per mail action. Finally, it creates a template stub
+ for each of the mail action names in app/views under a directory with the
+ same name as the class.
+
+EXAMPLE
+ new_mailer Notifications signup forgot_password invoice
+
+ This will generate a Notifications class in
+ app/models/notifications.rb, a NotificationsTest in
+ test/unit/notifications_test.rb, and signup, forgot_password, and invoice
+ in test/fixture/notification. It will also create signup.rhtml,
+ forgot_password.rhtml, and invoice.rhtml in app/views/notifications.
+
+ The Notifications class will have the following methods: signup,
+ forgot_password, and invoice.
+END_HELP
+end