class Grant::Grantor

Public Class Methods

new(action, &callback) click to toggle source
# File lib/grant/grantor.rb, line 8
def initialize(action, &callback)
  @action = action
  @callback = callback
end

Public Instance Methods

authorize!(model, user=Grant::User.current_user) click to toggle source
# File lib/grant/grantor.rb, line 13
def authorize!(model, user=Grant::User.current_user)
  unless grant_disabled?
    without_grant do
      raise Grant::Error.new(user, @action, model) unless @callback.call(user, model, @action)
    end
  end
end
authorized?(model, user=Grant::User.current_user) click to toggle source
# File lib/grant/grantor.rb, line 21
def authorized?(model, user=Grant::User.current_user)
  without_grant do
    @callback.call(user, model, @action)
  end
end