class Topographer::Importer::Mapper::MapperBuilder

Attributes

default_values[R]
field_mappings[R]
ignored_mappings[R]
key_fields[R]
optional_mappings[R]
required_mappings[R]
validation_mappings[R]

Public Class Methods

new() click to toggle source
# File lib/topographer/importer/mapper/mapper_builder.rb, line 11
def initialize
  @required_mappings = {}
  @optional_mappings = {}
  @ignored_mappings = {}
  @validation_mappings = {}
  @default_values = {}
  @key_fields = []
  @field_mappings = {}
end

Public Instance Methods

default_value(output_field, &mapping_behavior) click to toggle source
# File lib/topographer/importer/mapper/mapper_builder.rb, line 42
def default_value(output_field, &mapping_behavior)
  validate_unique_mapping([], output_field)
  mapping = Topographer::Importer::Mapper::DefaultFieldMapping.new(output_field, &mapping_behavior)
  @default_values[output_field] = mapping
  @field_mappings[output_field] = mapping
end
ignored_column(input_column) click to toggle source
# File lib/topographer/importer/mapper/mapper_builder.rb, line 54
def ignored_column(input_column)
  validate_unique_column_mapping_type(input_column, ignored: true)
  @ignored_mappings[input_column] = Topographer::Importer::Mapper::IgnoredFieldMapping.new(input_column)
end
key_field(output_field) click to toggle source
# File lib/topographer/importer/mapper/mapper_builder.rb, line 49
def key_field(output_field)
  validate_key_field(output_field)
  @key_fields << output_field
end
optional_mapping(input_columns, output_field, &mapping_behavior) click to toggle source
# File lib/topographer/importer/mapper/mapper_builder.rb, line 28
def optional_mapping(input_columns, output_field, &mapping_behavior)
  validate_unique_mapping(input_columns, output_field)
  mapping = Topographer::Importer::Mapper::FieldMapping.new(false, input_columns, output_field, &mapping_behavior)
  @optional_mappings[output_field] = mapping
  @field_mappings[output_field] = mapping
end
required_mapping(input_columns, output_field, &mapping_behavior) click to toggle source
# File lib/topographer/importer/mapper/mapper_builder.rb, line 21
def required_mapping(input_columns, output_field, &mapping_behavior)
  validate_unique_mapping(input_columns, output_field)
  mapping = Topographer::Importer::Mapper::FieldMapping.new(true, input_columns, output_field, &mapping_behavior)
  @required_mappings[output_field] = mapping
  @field_mappings[output_field] = mapping
end
validation_field(name, input_columns, &mapping_behavior) click to toggle source
# File lib/topographer/importer/mapper/mapper_builder.rb, line 35
def validation_field(name, input_columns, &mapping_behavior)
  validate_unique_validation_name(name)
  mapping = Topographer::Importer::Mapper::ValidationFieldMapping.new(name, input_columns, &mapping_behavior)
  @validation_mappings[name] = mapping
  @field_mappings[name] = mapping
end