aboutsummaryrefslogtreecommitdiffstats
path: root/railties/generators/mailer/templates
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2004-12-07 11:49:38 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2004-12-07 11:49:38 +0000
commit2594581e9f5594b32918326be895b4d443ab3e9c (patch)
tree051f52e4619b70f4757dbabf362d51a7d5f5fde9 /railties/generators/mailer/templates
parent3ee4357b8643c611bbe9eb3a7ce820a5e32cddaa (diff)
downloadrails-2594581e9f5594b32918326be895b4d443ab3e9c.tar.gz
rails-2594581e9f5594b32918326be895b4d443ab3e9c.tar.bz2
rails-2594581e9f5594b32918326be895b4d443ab3e9c.zip
Added a better generator for scaffolding that actually creates the code, so it can be edited bit by bit. See "script/generate scaffold" [bitsweat]. Added a whole new approach to generators that used the shared "script/generate" command. Run with no-args to see help [bitsweat].
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@63 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'railties/generators/mailer/templates')
-rw-r--r--railties/generators/mailer/templates/fixture.rhtml4
-rw-r--r--railties/generators/mailer/templates/mailer.rb14
-rw-r--r--railties/generators/mailer/templates/unit_test.rb37
-rw-r--r--railties/generators/mailer/templates/view.rhtml3
4 files changed, 58 insertions, 0 deletions
diff --git a/railties/generators/mailer/templates/fixture.rhtml b/railties/generators/mailer/templates/fixture.rhtml
new file mode 100644
index 0000000000..f315d430ed
--- /dev/null
+++ b/railties/generators/mailer/templates/fixture.rhtml
@@ -0,0 +1,4 @@
+<%= class_name %>#<%= action %>
+
+Find me in test/fixtures/<%= file_name %>/<%= action %>.
+I'm tested against the view in app/views/<%= file_name %>/<%= action %>.
diff --git a/railties/generators/mailer/templates/mailer.rb b/railties/generators/mailer/templates/mailer.rb
new file mode 100644
index 0000000000..6621ba9a01
--- /dev/null
+++ b/railties/generators/mailer/templates/mailer.rb
@@ -0,0 +1,14 @@
+require 'action_mailer'
+
+class <%= class_name %> < ActionMailer::Base
+<% for action in actions -%>
+
+ def <%= action %>(sent_on = Time.now)
+ @recipients = ''
+ @from = ''
+ @subject = ''
+ @body = {}
+ @sent_on = sent_on
+ end
+<% end -%>
+end
diff --git a/railties/generators/mailer/templates/unit_test.rb b/railties/generators/mailer/templates/unit_test.rb
new file mode 100644
index 0000000000..3bf460907f
--- /dev/null
+++ b/railties/generators/mailer/templates/unit_test.rb
@@ -0,0 +1,37 @@
+require File.dirname(__FILE__) + '/../test_helper'
+require '<%= file_name %>'
+
+class <%= class_name %>Test < Test::Unit::TestCase
+ FIXTURES_PATH = File.dirname(__FILE__) + '/../fixtures'
+
+ def setup
+ ActionMailer::Base.delivery_method = :test
+ ActionMailer::Base.perform_deliveries = true
+ ActionMailer::Base.deliveries = []
+
+ @expected = TMail::Mail.new
+ @expected.to = 'test@localhost'
+ @expected.from = 'test@localhost'
+ end
+
+<% for action in actions -%>
+ def test_<%= action %>
+ @expected.subject = '<%= class_name %>#<%= action %> test mail'
+ @expected.body = read_fixture('<%= action %>')
+ @expected.date = Time.now
+
+ created = nil
+ assert_nothing_raised { created = <%= class_name %>.create_<%= action %>(@expected.date) }
+ assert_not_nil created
+ assert_equal @expected.encoded, created.encoded
+
+ assert_nothing_raised { <%= class_name %>.deliver_<%= action %>(@expected.date) }
+ assert_equal @expected.encoded, ActionMailer::Base.deliveries.first.encoded
+ end
+
+<% end -%>
+ private
+ def read_fixture(action)
+ IO.readlines("#{FIXTURES_PATH}/<%= file_name %>/#{action}")
+ end
+end
diff --git a/railties/generators/mailer/templates/view.rhtml b/railties/generators/mailer/templates/view.rhtml
new file mode 100644
index 0000000000..b481906829
--- /dev/null
+++ b/railties/generators/mailer/templates/view.rhtml
@@ -0,0 +1,3 @@
+<%= class_name %>#<%= action %>
+
+Find me in app/views/<%= file_name %>/<%= action %>.rhtml