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
30 31 32 |
# File 'lib/action_policy/authorizer.rb', line 30 def (policy, rule) policy.apply_r(rule) end |
.call(policy, rule) ⇒ Object
Performs authorization, raises an exception when check failed.
23 24 25 26 27 28 |
# File 'lib/action_policy/authorizer.rb', line 23 def call(policy, rule) res = (policy, rule) return if res.success? raise(::ActionPolicy::Unauthorized.new(policy, rule, res)) end |
.scopify(target, policy, **options) ⇒ Object
Applies scope to the target
35 36 37 |
# File 'lib/action_policy/authorizer.rb', line 35 def scopify(target, policy, **) policy.apply_scope(target, **) end |