Module: RoleModel::Implementation
- Included in:
- RoleModel
- Defined in:
- lib/role_model/implementation.rb
Instance Method Summary collapse
-
#has_all_roles?(*roles) ⇒ Boolean
(also: #is?, #has_roles?)
:call-seq: has_all_roles?(:role) 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’]).
-
#has_any_role?(*roles) ⇒ Boolean
(also: #is_any_of?, #has_role?)
:call-seq: has_any_role?(:role) 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’]).
-
#roles ⇒ Object
(also: #role_symbols)
query assigned roles.
-
#roles=(*roles) ⇒ Object
assign roles.
Instance Method Details
#has_all_roles?(*roles) ⇒ Boolean Also known as: is?, has_roles?
:call-seq:
has_all_roles?(:role)
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?
25 26 27 |
# File 'lib/role_model/implementation.rb', line 25 def has_all_roles?(*roles) roles.flatten.map { |r| r.to_sym }.all? { |r| self.roles.include?(r) } end |
#has_any_role?(*roles) ⇒ Boolean Also known as: is_any_of?, has_role?
:call-seq:
has_any_role?(:role)
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?
41 42 43 |
# File 'lib/role_model/implementation.rb', line 41 def has_any_role?(*roles) roles.flatten.map { |r| r.to_sym }.any? { |r| self.roles.include?(r) } end |
#roles ⇒ Object Also known as: role_symbols
query assigned roles
10 11 12 |
# 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) ⇒ Object
assign roles
5 6 7 |
# File 'lib/role_model/implementation.rb', line 5 def roles=(*roles) self.send("#{self.class.roles_attribute_name}=", self.class.mask_for(*roles)) end |