Method: CanCan::ControllerResource.add_before_filter

Defined in:
lib/cancan/controller_resource.rb

.add_before_filter(controller_class, method, *args) ⇒ Object

:nodoc:



5
6
7
8
9
10
11
12
# File 'lib/cancan/controller_resource.rb', line 5

def self.add_before_filter(controller_class, method, *args)
  options = args.extract_options!
  resource_name = args.first
  before_filter_method = options.delete(:prepend) ? :prepend_before_filter : :before_filter
  controller_class.send(before_filter_method, options.slice(:only, :except, :if, :unless)) do |controller|
    controller.class.cancan_resource_class.new(controller, resource_name, options.except(:only, :except, :if, :unless)).send(method)
  end
end