aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer
diff options
context:
space:
mode:
authorRafael França <rafaelmfranca@gmail.com>2016-03-23 23:05:26 -0300
committerRafael França <rafaelmfranca@gmail.com>2016-03-23 23:05:26 -0300
commit878c2bbaaf21f88543e75d4a986652d128ea8448 (patch)
tree194c5294ea67f2020e59fb273a171584446758ad /actionmailer
parentfbe6e4e306b6f73fe29e33004956e5862fd7bd86 (diff)
parent4d0bf49b92a77542185644660f2c9cec98e66de5 (diff)
downloadrails-878c2bbaaf21f88543e75d4a986652d128ea8448.tar.gz
rails-878c2bbaaf21f88543e75d4a986652d128ea8448.tar.bz2
rails-878c2bbaaf21f88543e75d4a986652d128ea8448.zip
Merge pull request #24164 from prathamesh-sonpatki/fix-application-mailer
Correctly generate application_mailer.rb in mountable engines
Diffstat (limited to 'actionmailer')
-rw-r--r--actionmailer/lib/rails/generators/mailer/mailer_generator.rb13
-rw-r--r--actionmailer/lib/rails/generators/mailer/templates/application_mailer.rb2
2 files changed, 13 insertions, 2 deletions
diff --git a/actionmailer/lib/rails/generators/mailer/mailer_generator.rb b/actionmailer/lib/rails/generators/mailer/mailer_generator.rb
index f86d43be61..01bdfb0685 100644
--- a/actionmailer/lib/rails/generators/mailer/mailer_generator.rb
+++ b/actionmailer/lib/rails/generators/mailer/mailer_generator.rb
@@ -11,8 +11,8 @@ module Rails
template "mailer.rb", File.join('app/mailers', class_path, "#{file_name}_mailer.rb")
in_root do
- if self.behavior == :invoke && !File.exist?('app/mailers/application_mailer.rb')
- template 'application_mailer.rb', 'app/mailers/application_mailer.rb'
+ if self.behavior == :invoke && !File.exist?(application_mailer_file_name)
+ template 'application_mailer.rb', application_mailer_file_name
end
end
end
@@ -23,6 +23,15 @@ module Rails
def file_name
@_file_name ||= super.gsub(/_mailer/i, '')
end
+
+ private
+ def application_mailer_file_name
+ @_application_mailer_file_name ||= if mountable_engine?
+ "app/mailers/#{namespaced_path}/application_mailer.rb"
+ else
+ "app/mailers/application_mailer.rb"
+ end
+ end
end
end
end
diff --git a/actionmailer/lib/rails/generators/mailer/templates/application_mailer.rb b/actionmailer/lib/rails/generators/mailer/templates/application_mailer.rb
index 286b2239d1..f23e575fe5 100644
--- a/actionmailer/lib/rails/generators/mailer/templates/application_mailer.rb
+++ b/actionmailer/lib/rails/generators/mailer/templates/application_mailer.rb
@@ -1,4 +1,6 @@
+<% module_namespacing do %>
class ApplicationMailer < ActionMailer::Base
default from: 'from@example.com'
layout 'mailer'
end
+<% end %>