Module: Memorize::Action

Defined in:
lib/memorize/action.rb

Overview

Exemplos de uso:

class TestController < ApplicationController
  memorize_action :index, :key_builder => Article, :params => [:category, :page, :format]
  memorize_action :show,  :key_builder => Article, :key_param => :slug, :params => [:page, :format]
  memorize_action :index, :cache_path => lambda { |controller| "my_key_#{controller.params.to_s}" }
end

Defined Under Namespace

Classes: MemorizeFilter

Instance Method Summary collapse

Instance Method Details

#memorize_action(*actions) ⇒ Object



13
14
15
16
17
18
19
20
21
22
# File 'lib/memorize/action.rb', line 13

def memorize_action(*actions)
  return unless self.perform_caching
  options = actions.extract_options!
  filter_options = { :only => actions, :if => options.delete(:if), :unless => options.delete(:unless) }

  memorize_filter = MemorizeFilter.new(options)
  around_filter(filter_options) do |controller, action|
    memorize_filter.filter(controller, action)
  end
end