Module: Authorization::Base::ControllerClassMethods

Defined in:
lib/authorization.rb

Instance Method Summary collapse

Instance Method Details

#permit(authorization_expression, *args) ⇒ Object

Allow class-level authorization check. permit is used in a before_filter fashion and passes arguments to the before_filter.



33
34
35
36
37
38
39
40
41
42
43
# File 'lib/authorization.rb', line 33

def permit( authorization_expression, *args )
  filter_keys = [ :only, :except ]
  filter_args, eval_args = {}, {}
  if args.last.is_a? Hash
    filter_args.merge!( args.last.reject {|k,v| not filter_keys.include? k } )
    eval_args.merge!( args.last.reject {|k,v| filter_keys.include? k } )
  end
  before_filter( filter_args ) do |controller|
    controller.permit( authorization_expression, eval_args )
  end
end