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
- .authorize(policy, rule) ⇒ Object
-
.call(policy, rule) ⇒ Object
Performs authorization, raises an exception when check failed.
-
.scopify(target, policy, **options) ⇒ Object
Applies scope to the target.
Class Method Details
.authorize(policy, rule) ⇒ Object
27 28 29 |
# File 'lib/action_policy/authorizer.rb', line 27 def (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) (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, **) policy.apply_scope(target, **) end |