Class: Whoosh::Auth::AccessControl
- Inherits:
-
Object
- Object
- Whoosh::Auth::AccessControl
- Defined in:
- lib/whoosh/auth/access_control.rb
Instance Method Summary collapse
- #check!(role, model) ⇒ Object
-
#initialize ⇒ AccessControl
constructor
A new instance of AccessControl.
- #models_for(role) ⇒ Object
- #role(name, models: []) ⇒ Object
Constructor Details
#initialize ⇒ AccessControl
Returns a new instance of AccessControl.
6 7 8 |
# File 'lib/whoosh/auth/access_control.rb', line 6 def initialize @roles = {} end |
Instance Method Details
#check!(role, model) ⇒ Object
14 15 16 17 18 19 |
# File 'lib/whoosh/auth/access_control.rb', line 14 def check!(role, model) allowed = @roles[role] unless allowed && allowed.include?(model) raise Errors::ForbiddenError, "Model '#{model}' not allowed for role '#{role}'" end end |
#models_for(role) ⇒ Object
21 22 23 |
# File 'lib/whoosh/auth/access_control.rb', line 21 def models_for(role) @roles[role] || [] end |
#role(name, models: []) ⇒ Object
10 11 12 |
# File 'lib/whoosh/auth/access_control.rb', line 10 def role(name, models: []) @roles[name] = models.dup.freeze end |