aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2014-12-04 18:29:50 -0200
committerRafael Mendonça França <rafaelmfranca@gmail.com>2014-12-04 18:29:50 -0200
commitda13b9aedccf437df933eb8620c0029b6a502aa1 (patch)
tree73059526fc016781f5dd9e3126d74688b8aff697 /railties
parent191ea4b85b6878feedc1b18d0dcf56d2825895a1 (diff)
parentf9411b464dd477131540d32bed1fa8f18ef5ee4c (diff)
downloadrails-da13b9aedccf437df933eb8620c0029b6a502aa1.tar.gz
rails-da13b9aedccf437df933eb8620c0029b6a502aa1.tar.bz2
rails-da13b9aedccf437df933eb8620c0029b6a502aa1.zip
Merge pull request #17797 from y-yagi/donot_delete_mailer_layouts
Don't remove mailer layouts files
Diffstat (limited to 'railties')
-rw-r--r--railties/lib/rails/generators/erb/mailer/mailer_generator.rb8
-rw-r--r--railties/test/generators/mailer_generator_test.rb15
2 files changed, 20 insertions, 3 deletions
diff --git a/railties/lib/rails/generators/erb/mailer/mailer_generator.rb b/railties/lib/rails/generators/erb/mailer/mailer_generator.rb
index f9b3658ae7..7d27321610 100644
--- a/railties/lib/rails/generators/erb/mailer/mailer_generator.rb
+++ b/railties/lib/rails/generators/erb/mailer/mailer_generator.rb
@@ -9,9 +9,11 @@ module Erb # :nodoc:
view_base_path = File.join("app/views", class_path, file_name)
empty_directory view_base_path
- formats.each do |format|
- layout_path = File.join("app/views/layouts", filename_with_extensions("mailer", format))
- template filename_with_extensions(:layout, format), layout_path
+ if self.behavior == :invoke
+ formats.each do |format|
+ layout_path = File.join("app/views/layouts", filename_with_extensions("mailer", format))
+ template filename_with_extensions(:layout, format), layout_path
+ end
end
actions.each do |action|
diff --git a/railties/test/generators/mailer_generator_test.rb b/railties/test/generators/mailer_generator_test.rb
index bab15ce172..3d1cf87dae 100644
--- a/railties/test/generators/mailer_generator_test.rb
+++ b/railties/test/generators/mailer_generator_test.rb
@@ -152,4 +152,19 @@ class MailerGeneratorTest < Rails::Generators::TestCase
end
end
end
+
+ def test_mailer_on_revoke
+ run_generator
+ run_generator ["notifier"], behavior: :revoke
+
+ assert_no_file "app/mailers/notifier.rb"
+ assert_no_file "app/views/notifier/foo.text.erb"
+ assert_no_file "app/views/notifier/bar.text.erb"
+ assert_no_file "app/views/notifier/foo.html.erb"
+ assert_no_file "app/views/notifier/bar.html.erb"
+
+ assert_file "app/mailers/application_mailer.rb"
+ assert_file "app/views/layouts/mailer.text.erb"
+ assert_file "app/views/layouts/mailer.html.erb"
+ end
end