Permalink
Browse files

Update Mailer generator to use 1.9 styled hash when run on Ruby 1.9

As always, you can run `--old-style-hash` to override that.
  • Loading branch information...
1 parent a4a3381 commit f2769ebd7eaa4bdc9aabfbff23c1ef3cbc7d4f9f @sikachu sikachu committed May 13, 2011
@@ -1,6 +1,6 @@
<% module_namespacing do -%>
class <%= class_name %> < ActionMailer::Base
- default :from => "from@example.com"
+ default <%= key_value :from, '"from@example.com"' %>
<% for action in actions -%>
# Subject can be set in your I18n file at config/locales/en.yml
@@ -11,7 +11,7 @@ class <%= class_name %> < ActionMailer::Base
def <%= action %>
@greeting = "Hi"
- mail :to => "to@example.org"
+ mail <%= key_value :to, '"to@example.org"' %>
end
<% end -%>
end
View
@@ -30,7 +30,7 @@ by the prototype-rails gem. [fxn]
* jQuery is the new default JavaScript library. [fxn]
-* Changed scaffold and app generator to create Ruby 1.9 style hash when running on Ruby 1.9 [Prem Sichanugrist]
+* Changed scaffold, application, and mailer generator to create Ruby 1.9 style hash when running on Ruby 1.9 [Prem Sichanugrist]
So instead of creating something like:
@@ -10,7 +10,11 @@ def test_mailer_skeleton_is_created
run_generator
assert_file "app/mailers/notifier.rb" do |mailer|
assert_match /class Notifier < ActionMailer::Base/, mailer
- assert_match /default :from => "from@example.com"/, mailer
+ if RUBY_VERSION < "1.9"
+ assert_match /default :from => "from@example.com"/, mailer
+ else
+ assert_match /default from: "from@example.com"/, mailer
+ end
end
end
@@ -73,15 +77,33 @@ def test_actions_are_turned_into_methods
assert_file "app/mailers/notifier.rb" do |mailer|
assert_instance_method :foo, mailer do |foo|
- assert_match /mail :to => "to@example.org"/, foo
+ if RUBY_VERSION < "1.9"
+ assert_match /mail :to => "to@example.org"/, foo
+ else
+ assert_match /mail to: "to@example.org"/, foo
+ end
assert_match /@greeting = "Hi"/, foo
end
assert_instance_method :bar, mailer do |bar|
- assert_match /mail :to => "to@example.org"/, bar
+ if RUBY_VERSION < "1.9"
+ assert_match /mail :to => "to@example.org"/, bar
+ else
+ assert_match /mail to: "to@example.org"/, bar
+ end
assert_match /@greeting = "Hi"/, bar
end
end
+ end
+ def test_force_old_style_hash
+ run_generator ["notifier", "foo", "--old-style-hash"]
+ assert_file "app/mailers/notifier.rb" do |mailer|
+ assert_match /default :from => "from@example.com"/, mailer
+
+ assert_instance_method :foo, mailer do |foo|
+ assert_match /mail :to => "to@example.org"/, foo
+ end
+ end
end
end

0 comments on commit f2769eb

Please sign in to comment.