aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/generators/erb/mailer/mailer_generator.rb
diff options
context:
space:
mode:
Diffstat (limited to 'railties/lib/rails/generators/erb/mailer/mailer_generator.rb')
-rw-r--r--railties/lib/rails/generators/erb/mailer/mailer_generator.rb23
1 files changed, 15 insertions, 8 deletions
diff --git a/railties/lib/rails/generators/erb/mailer/mailer_generator.rb b/railties/lib/rails/generators/erb/mailer/mailer_generator.rb
index bc249aa5e5..f150240908 100644
--- a/railties/lib/rails/generators/erb/mailer/mailer_generator.rb
+++ b/railties/lib/rails/generators/erb/mailer/mailer_generator.rb
@@ -1,4 +1,4 @@
-require 'rails/generators/erb'
+require "rails/generators/erb"
module Erb # :nodoc:
module Generators # :nodoc:
@@ -6,9 +6,16 @@ module Erb # :nodoc:
argument :actions, type: :array, default: [], banner: "method method"
def copy_view_files
- view_base_path = File.join("app/views", class_path, file_name + '_mailer')
+ view_base_path = File.join("app/views", class_path, file_name + "_mailer")
empty_directory view_base_path
+ if self.behavior == :invoke
+ formats.each do |format|
+ layout_path = File.join("app/views/layouts", class_path, filename_with_extensions("mailer", format))
+ template filename_with_extensions(:layout, format), layout_path
+ end
+ end
+
actions.each do |action|
@action = action
@@ -21,13 +28,13 @@ module Erb # :nodoc:
protected
- def formats
- [:text, :html]
- end
+ def formats
+ [:text, :html]
+ end
- def file_name
- @_file_name ||= super.gsub(/\_mailer/i, '')
- end
+ def file_name
+ @_file_name ||= super.gsub(/_mailer/i, "")
+ end
end
end
end