module MarbleGate::ControllerClassMethods

Public Instance Methods

authorize!(cls = nil, *args, only: [], except: []) click to toggle source
# File lib/marble_gate/controller_class_methods.rb, line 9
def authorize!(cls = nil, *args, only: [], except: [])
  cls = cls || controller_name.classify.constantize

  before_action(only: only, except: except) do
    res = MarbleGate.access(self, params[:action], *args).for_authorizer?(cls)
    raise MarbleGate::AccessDenied unless res
  end
end