module AuthorizationNext::Base::ControllerClassMethods

Public Instance Methods

permit( authorization_expression, *args ) click to toggle source

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

# File lib/authorization_next.rb, line 29
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