Module: Authorization::ObjectRolesTable::UserExtensions::InstanceMethods
- Defined in:
- lib/authorization/publishare/object_roles_table.rb
Instance Method Summary collapse
- #has_no_role(role_name, authorizable_obj = nil) ⇒ Object
- #has_role(role_name, authorizable_obj = nil) ⇒ Object
-
#has_role?(role_name, authorizable_obj = nil) ⇒ Boolean
If roles aren’t explicitly defined in user class then check roles table.
Instance Method Details
#has_no_role(role_name, authorizable_obj = nil) ⇒ Object
46 47 48 49 50 51 52 |
# File 'lib/authorization/publishare/object_roles_table.rb', line 46 def has_no_role( role_name, = nil ) role = get_role( role_name, ) if role self.roles.delete( role ) role.destroy if role.users.empty? end end |
#has_role(role_name, authorizable_obj = nil) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/authorization/publishare/object_roles_table.rb', line 32 def has_role( role_name, = nil ) role = get_role( role_name, ) if role.nil? if .is_a? Class role = Role.create( :name => role_name, :authorizable_type => .to_s ) elsif role = Role.create( :name => role_name, :authorizable => ) else role = Role.create( :name => role_name ) end end self.roles << role if role and not self.roles.exists?( role.id ) end |
#has_role?(role_name, authorizable_obj = nil) ⇒ Boolean
If roles aren’t explicitly defined in user class then check roles table
23 24 25 26 27 28 29 30 |
# File 'lib/authorization/publishare/object_roles_table.rb', line 23 def has_role?( role_name, = nil ) if .nil? self.roles.find_by_name( role_name ) ? true : false # If we ask a general role question, return true if any role is defined. else role = get_role( role_name, ) role ? self.roles.exists?( role.id ) : false end end |