module CoreModels::Models::Concerns::UserConcerns
Public Instance Methods
add_group=(group_name)
click to toggle source
# File lib/core_models/models/concerns/user_concerns.rb, line 46 def add_group=(group_name) self.groups << self.groups.klass.find_by(group_name: group_name) end
add_group_membership(group, role)
click to toggle source
# File lib/core_models/models/concerns/user_concerns.rb, line 33 def add_group_membership(group, role) self.group_memberships.create!(group_id: group.id, role_id: role.id) end
get_role_from_group_membership(group_id)
click to toggle source
# File lib/core_models/models/concerns/user_concerns.rb, line 37 def get_role_from_group_membership(group_id) self.group_memberships.find_by!(group_id: group_id).role end
group()
click to toggle source
# File lib/core_models/models/concerns/user_concerns.rb, line 54 def group self.groups.first.try(:group_name) end
group_names()
click to toggle source
# File lib/core_models/models/concerns/user_concerns.rb, line 58 def group_names associated_groups = Array.new self.groups.each do |group| associated_groups.push(group.group_name) end associated_groups end
has_group?(name)
click to toggle source
# File lib/core_models/models/concerns/user_concerns.rb, line 5 def has_group?(name) self.groups.each do |g| if g.group_name == name return true end end return false end
has_role?(name)
click to toggle source
# File lib/core_models/models/concerns/user_concerns.rb, line 15 def has_role?(name) self.roles.each do |r| if r.role_name == name return true end end return false end
has_role_for_group?(name, group_name)
click to toggle source
# File lib/core_models/models/concerns/user_concerns.rb, line 25 def has_role_for_group?(name, group_name) if self.groups.where(group_name: group_name).any? if self.groups.find(group_name.parameterize).roles.where(role_name: name).any? self.has_role?(name) end end end
permissions()
click to toggle source
# File lib/core_models/models/concerns/user_concerns.rb, line 88 def permissions permission_array = Array.new self.roles.each do |role| role.permissions.each do |permission| permission_array.push(permission.permission_name) end end permission_array end
remove_group_membership(group_name)
click to toggle source
# File lib/core_models/models/concerns/user_concerns.rb, line 41 def remove_group_membership(group_name) group = self.groups.klass.find_by!(group_name: group_name) self.group_memberships.where(group_id: group.id).delete_all end
role()
click to toggle source
# File lib/core_models/models/concerns/user_concerns.rb, line 50 def role self.roles.first.try(:role_name) end
role_names()
click to toggle source
# File lib/core_models/models/concerns/user_concerns.rb, line 67 def role_names associated_roles = Array.new self.roles.each do |role| associated_roles.push(role.role_name) end associated_roles end
uniq_permissions()
click to toggle source
# File lib/core_models/models/concerns/user_concerns.rb, line 76 def uniq_permissions permission_array = Array.new self.roles.each do |role| role.permissions.each do |permission| permission_array.push(permission.permission_name) end end permission_array.uniq end