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