From e5af8b7d85abb94f21f4e873c1c267e27be2aad8 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Fri, 6 Aug 2010 16:34:48 +0200 Subject: Moved ActionMailer and ActionController railties options to inherited hook This change is needed, because we must take namespace into account and if controller's/mailer's class is namespaced, engine's paths should be set instead of application's ones. The nice side effect of this is removing unneeded logic in ActionController::Base.inherited - now the helpers_path should be set correctly even for engine's controllers, so helper(:all) will always include correct helpers. --- actionmailer/lib/action_mailer/railtie.rb | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'actionmailer/lib/action_mailer/railtie.rb') diff --git a/actionmailer/lib/action_mailer/railtie.rb b/actionmailer/lib/action_mailer/railtie.rb index a2b00addc9..3c1f045e79 100644 --- a/actionmailer/lib/action_mailer/railtie.rb +++ b/actionmailer/lib/action_mailer/railtie.rb @@ -1,6 +1,7 @@ require "action_mailer" require "rails" require "abstract_controller/railties/routes_helpers" +require "action_mailer/railties/paths" module ActionMailer class Railtie < Rails::Railtie @@ -11,17 +12,13 @@ module ActionMailer end initializer "action_mailer.set_configs" do |app| - paths = app.config.paths options = app.config.action_mailer - options.assets_dir ||= paths.public.to_a.first - options.javascripts_dir ||= paths.public.javascripts.to_a.first - options.stylesheets_dir ||= paths.public.stylesheets.to_a.first - ActiveSupport.on_load(:action_mailer) do include AbstractController::UrlFor - extend ::AbstractController::Railties::RoutesHelpers.with(app.routes) include app.routes.mounted_helpers(:app) + extend ::AbstractController::Railties::RoutesHelpers.with(app.routes) + extend ::ActionMailer::Railties::Paths.with(app) options.each { |k,v| send("#{k}=", v) } end end -- cgit v1.2.3