module ActionPolicy::Authorizer

The main purpose of this module is to extact authorize actions from everything else to make it easily testable.

Public Class Methods

authorize(policy, rule) click to toggle source
# File lib/action_policy/authorizer.rb, line 27
def authorize(policy, rule)
  policy.apply(rule)
end
call(policy, rule) click to toggle source

Performs authorization, raises an exception when check failed.

# File lib/action_policy/authorizer.rb, line 22
def call(policy, rule)
  authorize(policy, rule) ||
    raise(::ActionPolicy::Unauthorized.new(policy, rule))
end
scopify(target, policy, **options) click to toggle source

Applies scope to the target

# File lib/action_policy/authorizer.rb, line 32
def scopify(target, policy, **options)
  policy.apply_scope(target, **options)
end