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