diff options
author | Sen-Zhang <solowolf21@126.com> | 2016-03-11 16:43:37 -0800 |
---|---|---|
committer | Sen-Zhang <solowolf21@126.com> | 2016-03-11 16:47:08 -0800 |
commit | 0b3ae023d27197417541932632055cd6be4810c4 (patch) | |
tree | 931096497da5e22eb7f3cf79d5a214c8a7ff9b44 | |
parent | d448918027667bc5ac4296d6df14826193046bc8 (diff) | |
download | rails-0b3ae023d27197417541932632055cd6be4810c4.tar.gz rails-0b3ae023d27197417541932632055cd6be4810c4.tar.bz2 rails-0b3ae023d27197417541932632055cd6be4810c4.zip |
generate application_mailer.rb if it is missing
3 files changed, 14 insertions, 0 deletions
diff --git a/actionmailer/lib/rails/generators/mailer/mailer_generator.rb b/actionmailer/lib/rails/generators/mailer/mailer_generator.rb index ae5757917e..0277ecde16 100644 --- a/actionmailer/lib/rails/generators/mailer/mailer_generator.rb +++ b/actionmailer/lib/rails/generators/mailer/mailer_generator.rb @@ -9,6 +9,10 @@ module Rails def create_mailer_file template "mailer.rb", File.join('app/mailers', class_path, "#{file_name}_mailer.rb") + + unless File.exist?('app/mailers/application_mailer.rb') + template 'application_mailer.rb', 'app/mailers/application_mailer.rb' + end end hook_for :template_engine, :test_framework diff --git a/actionmailer/lib/rails/generators/mailer/templates/application_mailer.rb b/actionmailer/lib/rails/generators/mailer/templates/application_mailer.rb new file mode 100644 index 0000000000..02e8d3e454 --- /dev/null +++ b/actionmailer/lib/rails/generators/mailer/templates/application_mailer.rb @@ -0,0 +1,4 @@ +class ApplicationMailer < ActionMailer::Base + default from: 'from@example.com' + layout :mailer +end diff --git a/railties/test/generators/mailer_generator_test.rb b/railties/test/generators/mailer_generator_test.rb index f8d9ccacb4..71c11e5ef6 100644 --- a/railties/test/generators/mailer_generator_test.rb +++ b/railties/test/generators/mailer_generator_test.rb @@ -12,6 +12,12 @@ class MailerGeneratorTest < Rails::Generators::TestCase assert_no_match(/default from: "from@example.com"/, mailer) assert_no_match(/layout :mailer_notifier/, mailer) end + + assert_file 'app/mailers/application_mailer.rb' do |mailer| + assert_match(/class ApplicationMailer < ActionMailer::Base/, mailer) + assert_match(/default from: 'from@example.com'/, mailer) + assert_match(/layout :mailer/, mailer) + end end def test_mailer_with_i18n_helper |