Class: Mongoid::Roles::Role

Inherits:
Object
  • Object
show all
Includes:
Document
Defined in:
lib/mongoid/roles/role.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.has_no_role!(role, object) ⇒ Object

subject.has_no_role!(role, object = nil). Unassigns a role from the subject.



28
29
30
# File 'lib/mongoid/roles/role.rb', line 28

def has_no_role! (role, object)
  find_role_with_object(role,object).destroy_all
end

.has_no_roles!Object

subject.has_no_roles!. Unassign all roles from subject.



54
55
56
# File 'lib/mongoid/roles/role.rb', line 54

def has_no_roles!
  criteria.destroy_all
end

.has_no_roles_for!(object) ⇒ Object

subject.has_no_roles_for!(object). Unassign any subject ’s roles for a given object.



49
50
51
# File 'lib/mongoid/roles/role.rb', line 49

def has_no_roles_for! (object)
  find_object(object).destroy_all
end

.has_role?(role, object) ⇒ Boolean

subject.has_role?(role, object = nil). Returns true of false (has or has not).

Returns:

  • (Boolean)


19
20
21
# File 'lib/mongoid/roles/role.rb', line 19

def has_role? (role, object)
  find_role_with_object(role,object).count == 1
end

.has_role_for?(object) ⇒ Boolean

subject.has_role_for?(object). Same as has_roles_for?.

Returns:

  • (Boolean)


38
39
40
# File 'lib/mongoid/roles/role.rb', line 38

def has_role_for? (object)
  has_roles_for?(object)
end

.has_roles_for?(object) ⇒ Boolean

subject.has_roles_for?(object). Does the subject has any roles for object? (true of false)

Returns:

  • (Boolean)


33
34
35
# File 'lib/mongoid/roles/role.rb', line 33

def has_roles_for? (object)
  find_object(object).count > 0
end

.roles_for(object) ⇒ Object

subject.roles_for(object). Returns an array of Role instances, corresponding to subject ’s roles on object. E.g. subject.roles_for(object).map(&:name).sort will give you role names in alphabetical order.



44
45
46
# File 'lib/mongoid/roles/role.rb', line 44

def roles_for (object)
  find_object(object)
end

Instance Method Details

#auth_objectObject



60
61
62
63
64
# File 'lib/mongoid/roles/role.rb', line 60

def auth_object
  @auth_object ||= if auth_object_type && auth_object_id
    auth_object_type.constantize.find(auth_object_id)
  end
end

#auth_object=(auth_object) ⇒ Object



66
67
68
69
# File 'lib/mongoid/roles/role.rb', line 66

def auth_object=(auth_object)
  self.auth_object_type = auth_object.class.name
  self.auth_object_id   = auth_object.id
end