Prevent ActionMailer initializer from triggering load of ActionMailer
the after_initialize block has been changed to use the configuration from `config.action_mailer` rather than `ActionMailer::Base` so that action mailer is not loaded before it is necessary. the mailer preview routes setup have been moved out of an `on_load(:action_mailer)` block.
This commit is contained in:
parent
37f32c013e
commit
42e9eed9ba
@ -45,13 +45,6 @@ class Railtie < Rails::Railtie # :nodoc:
|
||||
|
||||
options.each { |k,v| send("#{k}=", v) }
|
||||
|
||||
if options.show_previews
|
||||
app.routes.prepend do
|
||||
get '/rails/mailers' => "rails/mailers#index", internal: true
|
||||
get '/rails/mailers/*path' => "rails/mailers#preview", internal: true
|
||||
end
|
||||
end
|
||||
|
||||
ActionDispatch::IntegrationTest.send :include, ActionMailer::TestCase::ClearTestDeliveries
|
||||
end
|
||||
end
|
||||
@ -62,9 +55,18 @@ class Railtie < Rails::Railtie # :nodoc:
|
||||
end
|
||||
end
|
||||
|
||||
config.after_initialize do
|
||||
if ActionMailer::Base.preview_path
|
||||
ActiveSupport::Dependencies.autoload_paths << ActionMailer::Base.preview_path
|
||||
config.after_initialize do |app|
|
||||
options = app.config.action_mailer
|
||||
|
||||
if options.show_previews
|
||||
app.routes.prepend do
|
||||
get '/rails/mailers' => "rails/mailers#index", internal: true
|
||||
get '/rails/mailers/*path' => "rails/mailers#preview", internal: true
|
||||
end
|
||||
|
||||
if options.preview_path
|
||||
ActiveSupport::Dependencies.autoload_paths << options.preview_path
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user