diff options
author | Joshua Peek <josh@joshpeek.com> | 2008-07-31 20:09:10 -0500 |
---|---|---|
committer | Joshua Peek <josh@joshpeek.com> | 2008-07-31 20:11:52 -0500 |
commit | cb21db1a334e6ca2695d4e7183b1bdce204b9eb3 (patch) | |
tree | 41eecb44bc44f5e5aee940a66498fd572210773a /actionmailer | |
parent | 909a7f430ba37cd7a54ae11a7af529bd949fa31c (diff) | |
download | rails-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')
-rw-r--r-- | actionmailer/lib/action_mailer/base.rb | 19 |
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 = []) |