aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer
diff options
context:
space:
mode:
authorPiotr Sarnacki <drogus@gmail.com>2010-07-30 07:14:48 +0200
committerPiotr Sarnacki <drogus@gmail.com>2010-09-03 22:59:10 +0200
commitc7664d112fadb313146da33f48d1da318f249927 (patch)
tree926ace3a678884f4fe114a0ab2f9c112c4d4c7f2 /actionmailer
parent99131939316230065b4297573d080d1585e4e5a7 (diff)
downloadrails-c7664d112fadb313146da33f48d1da318f249927.tar.gz
rails-c7664d112fadb313146da33f48d1da318f249927.tar.bz2
rails-c7664d112fadb313146da33f48d1da318f249927.zip
Include application's helpers and router helpers by default, but include engine's ones for controllers inside isolated namespace
Diffstat (limited to 'actionmailer')
-rw-r--r--actionmailer/lib/action_mailer/railtie.rb2
-rw-r--r--actionmailer/lib/action_mailer/railties/routes_helpers.rb12
2 files changed, 14 insertions, 0 deletions
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