Module: ActionPolicy::Authorizer

Defined in:
lib/action_policy/authorizer.rb

Overview

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

Class Method Summary collapse

Class Method Details

.authorize(policy, rule) ⇒ Object



27
28
29
# File 'lib/action_policy/authorizer.rb', line 27

def authorize(policy, rule)
  policy.apply(rule)
end

.call(policy, rule) ⇒ Object

Performs authorization, raises an exception when check failed.



22
23
24
25
# 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) ⇒ Object

Applies scope to the target



32
33
34
# File 'lib/action_policy/authorizer.rb', line 32

def scopify(target, policy, **options)
  policy.apply_scope(target, **options)
end