From c7664d112fadb313146da33f48d1da318f249927 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Fri, 30 Jul 2010 07:14:48 +0200 Subject: Include application's helpers and router helpers by default, but include engine's ones for controllers inside isolated namespace --- actionmailer/lib/action_mailer/railtie.rb | 2 ++ actionmailer/lib/action_mailer/railties/routes_helpers.rb | 12 ++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 actionmailer/lib/action_mailer/railties/routes_helpers.rb (limited to 'actionmailer') diff --git a/actionmailer/lib/action_mailer/railtie.rb b/actionmailer/lib/action_mailer/railtie.rb index c888e51b93..26fe125fd8 100644 --- a/actionmailer/lib/action_mailer/railtie.rb +++ b/actionmailer/lib/action_mailer/railtie.rb @@ -1,5 +1,6 @@ require "action_mailer" require "rails" +require "action_mailer/railties/routes_helpers" module ActionMailer class Railtie < Rails::Railtie @@ -20,6 +21,7 @@ module ActionMailer ActiveSupport.on_load(:action_mailer) do include app.routes.url_helpers include app.routes.mounted_helpers(:app) + extend ::ActionMailer::Railties::RoutesHelpers options.each { |k,v| send("#{k}=", v) } end end diff --git a/actionmailer/lib/action_mailer/railties/routes_helpers.rb b/actionmailer/lib/action_mailer/railties/routes_helpers.rb new file mode 100644 index 0000000000..3464ec38e2 --- /dev/null +++ b/actionmailer/lib/action_mailer/railties/routes_helpers.rb @@ -0,0 +1,12 @@ +module ActionMailer + module Railties + module RoutesHelpers + def inherited(klass) + super(klass) + if namespace = klass.parents.detect {|m| m.respond_to?(:_railtie) } + klass.send(:include, namespace._railtie.routes.url_helpers) + end + end + end + end +end -- cgit v1.2.3