class ActionBouncer::Authorization

Public Class Methods

new(allowances) click to toggle source
# File lib/action_bouncer/authorization.rb, line 5
def initialize(allowances)
  @allowances = allowances
end

Public Instance Methods

authorize!(controller) click to toggle source
# File lib/action_bouncer/authorization.rb, line 9
def authorize!(controller)
  return if @allowances.nil?
  fail Unauthorized unless authorized?(controller)
end

Private Instance Methods

authorized?(controller) click to toggle source
# File lib/action_bouncer/authorization.rb, line 16
def authorized?(controller)
  action = controller.send(:params).fetch(:action)
  @allowances.any? { |allowance| allowance.allowed?(controller, action) }
end