module MarbleGate::BaseMethods

Public Instance Methods

authorize!(model = nil, *args) click to toggle source
# File lib/marble_gate/base_methods.rb, line 9
def authorize!(model = nil, *args)
  unless model
    raise MarbleGate::MissingModel unless respond_to?(:controller_name)
    model = controller_name.classify.constantize
  end
  raise MarbleGate::AccessDenied unless can?(params[:action], model, *args)
end
can?(action, model, *args) click to toggle source
# File lib/marble_gate/base_methods.rb, line 17
def can?(action, model, *args)
  # p "#{model.class.to_s}Authorizer".constantize
  MarbleGate.access(self, action, *args).for_model?(model)
end
cannot?(action, model, *args) click to toggle source
# File lib/marble_gate/base_methods.rb, line 22
def cannot?(action, model, *args)
  !can?(action, model, *args)
end