module RoleModel::Implementation
Public Instance Methods
has_all_roles?(:role)
click to toggle source
has_all_roles?('role')
has_all_roles?(:role_1, ..., :role_n)
has_all_roles?('role_1', ..., 'role_n')
has_all_roles?([:role_1, ..., :role_n])
has_all_roles?(['role_1', ..., 'role_n'])
check if ALL of the given roles have been assigned this method is aliased as is?
and has_roles?
# File lib/role_model/implementation.rb, line 30 def has_all_roles?(*roles) roles.flatten.map(&:to_sym).all? { |r| self.roles.include?(r) } end
Also aliased as: is?, has_roles?
has_any_role?(:role)
click to toggle source
has_any_role?('role')
has_any_role?(:role_1, ..., :role_n)
has_any_role?('role_1', ..., 'role_n')
has_any_role?([:role_1, ..., :role_n])
has_any_role?(['role_1', ..., 'role_n'])
check if any (at least ONE) of the given roles have been assigned this method is aliased as is_any_of?
and has_role?
# File lib/role_model/implementation.rb, line 46 def has_any_role?(*roles) roles.flatten.map(&:to_sym).any? { |r| self.roles.include?(r) } end
Also aliased as: is_any_of?, has_role?
has_only_roles?(:role)
click to toggle source
has_only_roles?('role')
has_only_roles?(:role_1, ..., :role_n)
has_only_roles?('role_1', ..., 'role_n')
has_only_roles?([:role_1, ..., :role_n])
has_only_roles?(['role_1', ..., 'role_n'])
check if ONLY of the given roles have been assigned this method is aliased as is_exactly?
# File lib/role_model/implementation.rb, line 62 def has_only_roles?(*roles) self.send("#{self.class.roles_attribute_name}") == self.class.mask_for(*roles) end
Also aliased as: is_exactly?
role_symbols()
click to toggle source
query assigned roles returning an Array for the declarative_authorization gem
# File lib/role_model/implementation.rb, line 16 def role_symbols roles.to_a end
roles()
click to toggle source
query assigned roles
# File lib/role_model/implementation.rb, line 10 def roles Roles.new(self, self.class.valid_roles.reject { |r| ((self.send(self.class.roles_attribute_name) || 0) & 2**self.class.valid_roles.index(r)).zero? }) end
roles=(*roles)
click to toggle source
assign roles
# File lib/role_model/implementation.rb, line 5 def roles=(*roles) self.send("#{self.class.roles_attribute_name}=", self.class.mask_for(*roles)) end