Class: DecisionAgent::Auth::DefaultAdapter
- Inherits:
-
RbacAdapter
- Object
- RbacAdapter
- DecisionAgent::Auth::DefaultAdapter
- Defined in:
- lib/decision_agent/auth/rbac_adapter.rb
Overview
Default adapter using the built-in User/Role/Permission system
Instance Method Summary collapse
- #active?(user) ⇒ Boolean
- #can?(user, permission, _resource = nil) ⇒ Boolean
- #has_role?(user, role) ⇒ Boolean
Methods inherited from RbacAdapter
Instance Method Details
#active?(user) ⇒ Boolean
74 75 76 77 78 |
# File 'lib/decision_agent/auth/rbac_adapter.rb', line 74 def active?(user) return false unless user user.respond_to?(:active) ? user.active : true end |
#can?(user, permission, _resource = nil) ⇒ Boolean
56 57 58 59 60 61 62 63 64 65 |
# File 'lib/decision_agent/auth/rbac_adapter.rb', line 56 def can?(user, , _resource = nil) return false unless user return false unless active?(user) # Check if user has any role with the required permission roles = extract_roles(user) roles.any? do |role| Role.(role, ) end end |
#has_role?(user, role) ⇒ Boolean
67 68 69 70 71 72 |
# File 'lib/decision_agent/auth/rbac_adapter.rb', line 67 def has_role?(user, role) return false unless user roles = extract_roles(user) roles.include?(role.to_sym) end |