Class: DecisionAgent::Auth::PermissionChecker
- Inherits:
-
Object
- Object
- DecisionAgent::Auth::PermissionChecker
- Defined in:
- lib/decision_agent/auth/permission_checker.rb
Instance Attribute Summary collapse
-
#adapter ⇒ Object
readonly
Returns the value of attribute adapter.
Instance Method Summary collapse
- #active?(user) ⇒ Boolean
- #can?(user, permission, resource = nil) ⇒ Boolean
- #has_role?(user, role) ⇒ Boolean
-
#initialize(adapter: nil) ⇒ PermissionChecker
constructor
A new instance of PermissionChecker.
- #require_permission!(user, permission, resource = nil) ⇒ Object
- #require_role!(user, role) ⇒ Object
- #user_email(user) ⇒ Object
- #user_id(user) ⇒ Object
Constructor Details
#initialize(adapter: nil) ⇒ PermissionChecker
Returns a new instance of PermissionChecker.
8 9 10 |
# File 'lib/decision_agent/auth/permission_checker.rb', line 8 def initialize(adapter: nil) @adapter = adapter || DefaultAdapter.new end |
Instance Attribute Details
#adapter ⇒ Object (readonly)
Returns the value of attribute adapter.
6 7 8 |
# File 'lib/decision_agent/auth/permission_checker.rb', line 6 def adapter @adapter end |
Instance Method Details
#active?(user) ⇒ Boolean
32 33 34 |
# File 'lib/decision_agent/auth/permission_checker.rb', line 32 def active?(user) @adapter.active?(user) end |
#can?(user, permission, resource = nil) ⇒ Boolean
12 13 14 |
# File 'lib/decision_agent/auth/permission_checker.rb', line 12 def can?(user, , resource = nil) @adapter.can?(user, , resource) end |
#has_role?(user, role) ⇒ Boolean
22 23 24 |
# File 'lib/decision_agent/auth/permission_checker.rb', line 22 def has_role?(user, role) @adapter.has_role?(user, role) end |
#require_permission!(user, permission, resource = nil) ⇒ Object
16 17 18 19 20 |
# File 'lib/decision_agent/auth/permission_checker.rb', line 16 def (user, , resource = nil) raise PermissionDeniedError, "User does not have permission: #{}" unless can?(user, , resource) true end |
#require_role!(user, role) ⇒ Object
26 27 28 29 30 |
# File 'lib/decision_agent/auth/permission_checker.rb', line 26 def require_role!(user, role) raise PermissionDeniedError, "User does not have role: #{role}" unless has_role?(user, role) true end |
#user_email(user) ⇒ Object
40 41 42 |
# File 'lib/decision_agent/auth/permission_checker.rb', line 40 def user_email(user) @adapter.user_email(user) end |
#user_id(user) ⇒ Object
36 37 38 |
# File 'lib/decision_agent/auth/permission_checker.rb', line 36 def user_id(user) @adapter.user_id(user) end |