Class: Eco::API::Common::People::DefaultParsers::PolicyGroupsParser
- Inherits:
-
Loaders::Parser
- Object
- Loaders::Base
- Loaders::CaseBase
- Loaders::Parser
- Eco::API::Common::People::DefaultParsers::PolicyGroupsParser
- Defined in:
- lib/eco/api/common/people/default_parsers/policy_groups_parser.rb
Instance Attribute Summary
Attributes included from Language::AuxiliarLogger
Instance Method Summary collapse
Methods inherited from Loaders::Parser
active_when_all, active_when_any, #attribute, attribute, dependencies, #initialize, parsing_phase, serializing_phase
Methods inherited from Loaders::CaseBase
#name, name_only_once!, original_name
Methods inherited from Loaders::Base
<=>, created_at, #initialize, set_created_at!
Methods included from Language::Klass::InheritableClassVars
#inheritable_attrs, #inheritable_class_vars, #inherited
Methods included from Language::Klass::Naming
#instance_variable_name, #to_constant
Methods included from Language::Klass::Hierarchy
Methods included from Language::Klass::Builder
Methods included from Language::Klass::Uid
Methods included from Language::Klass::Resolver
#class_resolver, #resolve_class
Methods included from Language::Klass::Const
#if_const, #redef_without_warning
Methods included from Language::AuxiliarLogger
Constructor Details
This class inherits a constructor from Eco::API::Common::Loaders::Parser
Instance Method Details
#parser(hash, _deps) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# 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).tap do |known| next if known next if name.nil? next if unknown_pgs.include?(name) unknown_pgs.push(name) log(:warn) { "Unknown Policy Group: '#{name}'" } end end.compact.tap do |pg_names| pg_names.push(default_id) if pg_names.empty? end end |
#serializer(person, _deps) ⇒ Object
22 23 24 25 26 27 |
# File 'lib/eco/api/common/people/default_parsers/policy_groups_parser.rb', line 22 def serializer(person, _deps) ids = person&.account&.policy_group_ids || [] ids.map do |id| policy_groups.to_name(id) end.compact end |