module Fume::RenderCache::ControllerExtensions
Attributes
render_cache_params[RW]
Protected Instance Methods
build_render_cache_key(key)
click to toggle source
# File lib/fume/render_cache.rb, line 48 def build_render_cache_key(key) base = "render@#{params[:controller]}/#{params[:action]}.#{params[:format]}" key = self.key_to_string(key) "#{base}##{key}" end
key_to_string(obj)
click to toggle source
# File lib/fume/render_cache.rb, line 54 def key_to_string(obj) case obj when nil "nil!" when Hash obj.keys.sort.map { |k| "#{k}=#{self.key_to_string(obj[k])}" }.join("&") when Array obj.map { |val| self.key_to_string(val) }.join(",") when Time, Date obj.utc.iso8601 else obj.to_s end end
render_cache(key, options) { || ... }
click to toggle source
# File lib/fume/render_cache.rb, line 28 def render_cache(key, options) params = self.render_cache_params if params[:cache] params[:key] = build_render_cache_key(key) params[:options] = options if page = RenderCachePage.load(params[:cache].read(params[:key])) params[:key] = nil response.charset = page.charset response.content_type = page.content_type self.response_body = page.body.html_safe return end end yield if block_given? end