Module: Monarchy::ActsAsUser::InstanceMethods
- Defined in:
- lib/monarchy/acts_as_user.rb
Instance Method Summary collapse
- #grant(role_name, resource) ⇒ Object
- #member_for(resource) ⇒ Object
- #revoke_access(resource) ⇒ Object
- #revoke_role(role_name, resource) ⇒ Object
- #revoke_role!(role_name, resource) ⇒ Object
- #roles_for(resource, inheritence = true) ⇒ Object
Instance Method Details
#grant(role_name, resource) ⇒ Object
25 26 27 28 29 |
# File 'lib/monarchy/acts_as_user.rb', line 25 def grant(role_name, resource) ActiveRecord::Base.transaction do grant_or_create_member(role_name, resource) end end |
#member_for(resource) ⇒ Object
21 22 23 |
# File 'lib/monarchy/acts_as_user.rb', line 21 def member_for(resource) resource.hierarchy.members.where(monarchy_members: { user_id: id }).first end |
#revoke_access(resource) ⇒ Object
31 32 33 34 |
# File 'lib/monarchy/acts_as_user.rb', line 31 def revoke_access(resource) self_and_descendant_ids = resource.hierarchy.self_and_descendant_ids members_for(self_and_descendant_ids).destroy_all end |
#revoke_role(role_name, resource) ⇒ Object
36 37 38 |
# File 'lib/monarchy/acts_as_user.rb', line 36 def revoke_role(role_name, resource) revoking_role(role_name, resource) end |
#revoke_role!(role_name, resource) ⇒ Object
40 41 42 |
# File 'lib/monarchy/acts_as_user.rb', line 40 def revoke_role!(role_name, resource) revoking_role(role_name, resource, true) end |
#roles_for(resource, inheritence = true) ⇒ Object
16 17 18 19 |
# File 'lib/monarchy/acts_as_user.rb', line 16 def roles_for(resource, inheritence = true) return [] unless resource.hierarchy accessible_roles_for(resource, inheritence).group_by(&:level).values.first || [] end |