Module: RoleStrategy::ActiveRecord::ManyRoles::Implementation
Instance Method Summary
collapse
#add_roles, #remove_roles, #roles, #roles_list
Instance Method Details
#new_roles(*role_names) ⇒ Object
55
56
57
|
# File 'lib/roles_active_record/strategy/multi/many_roles.rb', line 55
def new_roles *role_names
role_class.find_roles( role_names)
end
|
#present_roles(roles_names) ⇒ Object
59
60
61
|
# File 'lib/roles_active_record/strategy/multi/many_roles.rb', line 59
def present_roles roles_names
roles_names.to_a.map{|role| role.name.to_s.to_sym}
end
|
#roles=(*role_names) ⇒ Object
41
42
43
44
45
46
47
48
49
50
51
52
|
# File 'lib/roles_active_record/strategy/multi/many_roles.rb', line 41
def roles=(*role_names)
puts "Assign roles #{role_names}"
role_names = role_names.flat_uniq
role_names = (role_names)
return nil if role_names.empty?
puts "role names #{role_names}"
valids = role_class.find_roles(role_names).to_a
puts "valids: #{valids}"
vrs = select_valid_roles role_names
puts "Set valid roles #{vrs}"
set_roles(vrs)
end
|
#set_empty_roles ⇒ Object
63
64
65
|
# File 'lib/roles_active_record/strategy/multi/many_roles.rb', line 63
def set_empty_roles
self.send("#{role_attribute}=", [])
end
|