Class: ActionController::Caching::Actions::ActionCacheFilter
- Defined in:
- lib/action_controller/caching/actions.rb
Overview
:nodoc:
Instance Method Summary collapse
- #after(controller) ⇒ Object
- #before(controller) ⇒ Object
-
#initialize(options, &block) ⇒ ActionCacheFilter
constructor
A new instance of ActionCacheFilter.
Constructor Details
#initialize(options, &block) ⇒ ActionCacheFilter
Returns a new instance of ActionCacheFilter.
82 83 84 |
# File 'lib/action_controller/caching/actions.rb', line 82 def initialize(, &block) @options = end |
Instance Method Details
#after(controller) ⇒ Object
100 101 102 103 104 |
# File 'lib/action_controller/caching/actions.rb', line 100 def after(controller) return if controller.rendered_action_cache || !caching_allowed(controller) action_content = cache_layout? ? content_for_layout(controller) : controller.response.body controller.write_fragment(controller.action_cache_path.path, action_content, @options[:store_options]) end |
#before(controller) ⇒ Object
86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/action_controller/caching/actions.rb', line 86 def before(controller) cache_path = ActionCachePath.new(controller, (controller, @options.slice(:cache_path))) if cache = controller.read_fragment(cache_path.path, @options[:store_options]) controller.rendered_action_cache = true set_content_type!(controller, cache_path.extension) = { :text => cache } .merge!(:layout => true) if cache_layout? controller.__send__(:render, ) false else controller.action_cache_path = cache_path end end |