Module: Ez::Permissions::API::Models
- Included in:
- Ez::Permissions::API
- Defined in:
- lib/ez/permissions/api/models.rb
Instance Method Summary collapse
- #assign_role(model, role_name, scoped: nil) ⇒ Object
- #includes_role?(model, role_name, scoped: nil) ⇒ Boolean
- #list_by_role(role_name, scoped: nil) ⇒ Object
- #reject_role(model, role_name, scoped: nil) ⇒ Object
Instance Method Details
#assign_role(model, role_name, scoped: nil) ⇒ Object
7 8 9 10 11 12 13 14 15 |
# File 'lib/ez/permissions/api/models.rb', line 7 def assign_role(model, role_name, scoped: nil) role = Ez::Permissions::API.get_role!(role_name) Ez::Permissions::ModelRole.find_or_create_by!( role: role, model: model, scoped: scoped ) end |
#includes_role?(model, role_name, scoped: nil) ⇒ Boolean
23 24 25 26 27 |
# File 'lib/ez/permissions/api/models.rb', line 23 def includes_role?(model, role_name, scoped: nil) role = Ez::Permissions::API.get_role!(role_name) model_role(role, model, scoped) ? true : false end |
#list_by_role(role_name, scoped: nil) ⇒ Object
29 30 31 32 33 34 35 36 |
# File 'lib/ez/permissions/api/models.rb', line 29 def list_by_role(role_name, scoped: nil) role = Ez::Permissions::API.get_role!(role_name) Ez::Permissions::ModelRole.where( role: role, scoped: scoped ).map(&:model) end |
#reject_role(model, role_name, scoped: nil) ⇒ Object
17 18 19 20 21 |
# File 'lib/ez/permissions/api/models.rb', line 17 def reject_role(model, role_name, scoped: nil) role = Ez::Permissions::API.get_role!(role_name) model_role(role, model, scoped)&.delete end |