Module: RoleStrategy::ActiveRecord::ManyRoles::Implementation
- Defined in:
- lib/roles_active_record/strategy/multi/many_roles.rb
Instance Method Summary collapse
- #add_roles(*_roles) ⇒ Object
- #role_attribute ⇒ Object
-
#roles ⇒ Object
query assigned roles.
-
#roles=(*_roles) ⇒ Object
assign roles.
- #roles_list ⇒ Object
Instance Method Details
#add_roles(*_roles) ⇒ Object
50 51 52 53 54 55 56 57 58 |
# File 'lib/roles_active_record/strategy/multi/many_roles.rb', line 50 def add_roles(*_roles) _roles = get_roles(_roles) return nil if _roles.none? role_relations = role_class.find_roles(_roles) puts "role_relations: #{role_relations.inspect}" self.send(role_attribute) << role_relations save end |
#role_attribute ⇒ Object
36 37 38 |
# File 'lib/roles_active_record/strategy/multi/many_roles.rb', line 36 def role_attribute strategy_class.roles_attribute_name end |
#roles ⇒ Object
query assigned roles
61 62 63 |
# File 'lib/roles_active_record/strategy/multi/many_roles.rb', line 61 def roles self.send(role_attribute) end |
#roles=(*_roles) ⇒ Object
assign roles
41 42 43 44 45 46 47 48 |
# File 'lib/roles_active_record/strategy/multi/many_roles.rb', line 41 def roles=(*_roles) _roles = get_roles(_roles) return nil if _roles.none? role_relations = role_class.find_roles(_roles) self.send("#{role_attribute}=", role_relations) save end |
#roles_list ⇒ Object
65 66 67 |
# File 'lib/roles_active_record/strategy/multi/many_roles.rb', line 65 def roles_list [roles].flatten.map{|r| r.name }.compact.to_symbols end |