Class: RubyUIAdmin::Services::AuthorizationService
- Inherits:
-
Object
- Object
- RubyUIAdmin::Services::AuthorizationService
- Defined in:
- lib/ruby_ui_admin/services/authorization_service.rb
Overview
Facade over the configured authorization adapter (config.authorization_client, default
action_policy). Resolves the adapter and delegates, so controllers/views/resources stay
backend-agnostic. The backend logic lives in RubyUIAdmin::Authorization::*Adapter.
Instance Method Summary collapse
- #allowed?(rule, record: nil) ⇒ Boolean
- #apply_policy(scope) ⇒ Object
- #authorize_action(rule, record: nil, raise_exception: true) ⇒ Object
- #defines_rule?(rule) ⇒ Boolean
- #has_rule?(rule, record: nil) ⇒ Boolean
-
#initialize(user, record = nil, policy_class: nil, true_user: nil) ⇒ AuthorizationService
constructor
A new instance of AuthorizationService.
- #policy_class ⇒ Object
- #record ⇒ Object
- #set_record(record) ⇒ Object
- #true_user ⇒ Object
-
#user ⇒ Object
Context readers (kept for backward compatibility with any caller reading them).
Constructor Details
#initialize(user, record = nil, policy_class: nil, true_user: nil) ⇒ AuthorizationService
Returns a new instance of AuthorizationService.
9 10 11 |
# File 'lib/ruby_ui_admin/services/authorization_service.rb', line 9 def initialize(user, record = nil, policy_class: nil, true_user: nil) @adapter = RubyUIAdmin::Authorization.build(user, record, policy_class: policy_class, true_user: true_user) end |
Instance Method Details
#allowed?(rule, record: nil) ⇒ Boolean
17 |
# File 'lib/ruby_ui_admin/services/authorization_service.rb', line 17 def allowed?(rule, record: nil) = @adapter.allowed?(rule, record: record) |
#apply_policy(scope) ⇒ Object
19 |
# File 'lib/ruby_ui_admin/services/authorization_service.rb', line 19 def apply_policy(scope) = @adapter.apply_policy(scope) |
#authorize_action(rule, record: nil, raise_exception: true) ⇒ Object
13 14 15 |
# File 'lib/ruby_ui_admin/services/authorization_service.rb', line 13 def (rule, record: nil, raise_exception: true) @adapter.(rule, record: record, raise_exception: raise_exception) end |
#defines_rule?(rule) ⇒ Boolean
23 |
# File 'lib/ruby_ui_admin/services/authorization_service.rb', line 23 def defines_rule?(rule) = @adapter.defines_rule?(rule) |
#has_rule?(rule, record: nil) ⇒ Boolean
21 |
# File 'lib/ruby_ui_admin/services/authorization_service.rb', line 21 def has_rule?(rule, record: nil) = @adapter.has_rule?(rule, record: record) |
#policy_class ⇒ Object
35 |
# File 'lib/ruby_ui_admin/services/authorization_service.rb', line 35 def policy_class = @adapter.policy_class |
#record ⇒ Object
34 |
# File 'lib/ruby_ui_admin/services/authorization_service.rb', line 34 def record = @adapter.record |
#set_record(record) ⇒ Object
27 28 29 30 |
# File 'lib/ruby_ui_admin/services/authorization_service.rb', line 27 def set_record(record) @adapter.set_record(record) self end |
#true_user ⇒ Object
25 |
# File 'lib/ruby_ui_admin/services/authorization_service.rb', line 25 def true_user = @adapter.true_user |
#user ⇒ Object
Context readers (kept for backward compatibility with any caller reading them).
33 |
# File 'lib/ruby_ui_admin/services/authorization_service.rb', line 33 def user = @adapter.user |