aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/metal/rendering_controller.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2009-10-28 10:33:05 -0200
committerYehuda Katz <wycats@gmail.com>2009-11-01 02:23:49 +0100
commit976c2647240fd40a2b706ab5e41856cd47e7b212 (patch)
tree424a54f1b025cf8e3d17dcd15632d68eb62a78ef /actionpack/lib/action_controller/metal/rendering_controller.rb
parenta107103e85a2cc294faedddbb44707fd2bc2e206 (diff)
downloadrails-976c2647240fd40a2b706ab5e41856cd47e7b212.tar.gz
rails-976c2647240fd40a2b706ab5e41856cd47e7b212.tar.bz2
rails-976c2647240fd40a2b706ab5e41856cd47e7b212.zip
Extracted localized_cache.rb from ActionController, added it to AbstractController and made ActionMailer use it.
Diffstat (limited to 'actionpack/lib/action_controller/metal/rendering_controller.rb')
-rw-r--r--actionpack/lib/action_controller/metal/rendering_controller.rb41
1 files changed, 3 insertions, 38 deletions
diff --git a/actionpack/lib/action_controller/metal/rendering_controller.rb b/actionpack/lib/action_controller/metal/rendering_controller.rb
index c5ade26702..237299cd30 100644
--- a/actionpack/lib/action_controller/metal/rendering_controller.rb
+++ b/actionpack/lib/action_controller/metal/rendering_controller.rb
@@ -1,39 +1,10 @@
module ActionController
- class HashKey
- @hash_keys = Hash.new {|h,k| h[k] = Hash.new {|h,k| h[k] = {} } }
-
- def self.get(klass, formats, locale)
- @hash_keys[klass][formats][locale] ||= new(klass, formats, locale)
- end
-
- attr_accessor :hash
- def initialize(klass, formats, locale)
- @formats, @locale = formats, locale
- @hash = [formats, locale].hash
- end
-
- alias_method :eql?, :equal?
-
- def inspect
- "#<HashKey -- formats: #{@formats} locale: #{@locale}>"
- end
- end
-
module RenderingController
extend ActiveSupport::Concern
- include AbstractController::RenderingController
-
- module ClassMethods
- def clear_template_caches!
- ActionView::Partials::PartialRenderer::TEMPLATES.clear
- template_cache.clear
- super
- end
-
- def template_cache
- @template_cache ||= Hash.new {|h,k| h[k] = {} }
- end
+ included do
+ include AbstractController::RenderingController
+ include AbstractController::LocalizedCache
end
def process_action(*)
@@ -42,8 +13,6 @@ module ActionController
end
def render(options)
- Thread.current[:format_locale_key] = HashKey.get(self.class, formats, I18n.locale)
-
super
self.content_type ||= options[:_template].mime_type.to_s
response_body
@@ -78,10 +47,6 @@ module ActionController
formats.first
end
- def with_template_cache(name)
- self.class.template_cache[Thread.current[:format_locale_key]][name] ||= super
- end
-
def _process_options(options)
status, content_type, location = options.values_at(:status, :content_type, :location)
self.status = status if status