class Eco::API::Common::People::DefaultParsers::PolicyGroupsParser

Public Instance Methods

parser(hash, deps) click to toggle source
# File lib/eco/api/common/people/default_parsers/policy_groups_parser.rb, line 5
def parser(hash, deps)
  policy_group_ids = hash["policy_group_ids"] || []
  policy_group_ids.map do |name|
    policy_groups.to_id(name&.downcase.strip)
  end.compact.tap do |pg_names|
    pg_names.push(default_id) if pg_names.empty?
  end
end
serializer(person, deps) click to toggle source
# File lib/eco/api/common/people/default_parsers/policy_groups_parser.rb, line 14
def serializer(person, deps)
  ids   = person&.account&.policy_group_ids || []
  ids.map do |id|
    policy_groups.to_name(id)
  end.compact
end

Private Instance Methods

default_id() click to toggle source
# File lib/eco/api/common/people/default_parsers/policy_groups_parser.rb, line 23
def default_id
  @default_id    ||= policy_groups.to_id(config.people.default_usergroup)
end
policy_groups() click to toggle source
# File lib/eco/api/common/people/default_parsers/policy_groups_parser.rb, line 27
def policy_groups
  @policy_groups ||= config.policy_groups
end