Module: DoRole::RoleModel
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/do_role/concerns/role_model.rb
Instance Method Summary collapse
- #add_permission(permission) ⇒ Object
- #computed_permissions ⇒ Object
- #has_permission?(permission) ⇒ Boolean
- #remove_permission(permission) ⇒ Object
Instance Method Details
#add_permission(permission) ⇒ Object
24 25 26 |
# File 'lib/do_role/concerns/role_model.rb', line 24 def () self. = (Array() + [.to_s]).uniq end |
#computed_permissions ⇒ Object
33 34 35 36 37 |
# File 'lib/do_role/concerns/role_model.rb', line 33 def = roles.map(&:computed_permissions).flatten = DoRole..() ( + ).uniq end |
#has_permission?(permission) ⇒ Boolean
18 19 20 21 22 |
# File 'lib/do_role/concerns/role_model.rb', line 18 def () return true if () return true if roles.any? { |role| role.() } false end |
#remove_permission(permission) ⇒ Object
28 29 30 31 |
# File 'lib/do_role/concerns/role_model.rb', line 28 def () return unless self. = Array() - [.to_s] end |