aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/lib
diff options
context:
space:
mode:
authorJoshua Peek <josh@joshpeek.com>2008-07-31 20:09:10 -0500
committerJoshua Peek <josh@joshpeek.com>2008-07-31 20:11:52 -0500
commitcb21db1a334e6ca2695d4e7183b1bdce204b9eb3 (patch)
tree41eecb44bc44f5e5aee940a66498fd572210773a /actionmailer/lib
parent909a7f430ba37cd7a54ae11a7af529bd949fa31c (diff)
downloadrails-cb21db1a334e6ca2695d4e7183b1bdce204b9eb3.tar.gz
rails-cb21db1a334e6ca2695d4e7183b1bdce204b9eb3.tar.bz2
rails-cb21db1a334e6ca2695d4e7183b1bdce204b9eb3.zip
Treat ActionMailer template_root as a view path set internally to avoid inheritance and dupping issues
Diffstat (limited to 'actionmailer/lib')
-rw-r--r--actionmailer/lib/action_mailer/base.rb19
1 files changed, 15 insertions, 4 deletions
diff --git a/actionmailer/lib/action_mailer/base.rb b/actionmailer/lib/action_mailer/base.rb
index 88d34a58d5..fa29ae2446 100644
--- a/actionmailer/lib/action_mailer/base.rb
+++ b/actionmailer/lib/action_mailer/base.rb
@@ -250,7 +250,7 @@ module ActionMailer #:nodoc:
private_class_method :new #:nodoc:
- class_inheritable_accessor :template_root
+ class_inheritable_accessor :view_paths
cattr_accessor :logger
cattr_accessor :template_extensions
@@ -425,9 +425,12 @@ module ActionMailer #:nodoc:
template_extensions << extension
end
+ def template_root
+ self.view_paths && self.view_paths.first
+ end
+
def template_root=(root)
- root = ActionView::PathSet::Path.new(root) if root.is_a?(String)
- write_inheritable_attribute(:template_root, root.load)
+ self.view_paths = ActionView::Base.process_view_paths(root)
end
end
@@ -541,12 +544,20 @@ module ActionMailer #:nodoc:
initialize_template_class(body).render(opts)
end
+ def template_root
+ self.class.template_root
+ end
+
+ def template_root=(root)
+ self.class.template_root = root
+ end
+
def template_path
"#{template_root}/#{mailer_name}"
end
def initialize_template_class(assigns)
- ActionView::Base.new(template_root, assigns, self)
+ ActionView::Base.new(view_paths, assigns, self)
end
def sort_parts(parts, order = [])