module Eco module API module Common module People # Class to define a set of default attribute parsers class DefaultParsers < PersonParser autoloads_children_of "Eco::API::Common::Loaders::Parser" autoload_namespace "Eco::API::Common::People::DefaultParsers" def initialize(*args) super(*args) define_defaults end private def define_defaults # Select Options select_hashes = @schema.fields.map do |fld| if fld.type == "select" raise "The schema selection field '#{fld.name}' is missing selection options." unless fld.options && !fld.options.empty? options_hash = fld.options.map { |v| [v.downcase.strip, v] }.to_h [fld.alt_id, options_hash] end end.compact.to_h SelectParser.new(self, select_hashes: select_hashes).process end end end end end end require_relative 'default_parsers/select_parser' require_relative 'default_parsers/boolean_parser' require_relative 'default_parsers/numeric_parser' require_relative 'default_parsers/date_parser' require_relative 'default_parsers/multi_parser' require_relative 'default_parsers/send_invites_parser' require_relative 'default_parsers/freemium_parser' require_relative 'default_parsers/policy_groups_parser' require_relative 'default_parsers/login_providers_parser' require_relative 'default_parsers/csv_parser' require_relative 'default_parsers/xls_parser'