Class: CDMBL::RecordTransformer

Inherits:
Object
  • Object
show all
Defined in:
lib/cdmbl/record_transformer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(record: {}, field_mappings: [], field_transformer: FieldTransformer) ⇒ RecordTransformer

Returns a new instance of RecordTransformer.



4
5
6
7
8
9
10
# File 'lib/cdmbl/record_transformer.rb', line 4

def initialize(record: {},
               field_mappings: [],
               field_transformer: FieldTransformer)
  @record            = record
  @field_mappings    = field_mappings
  @field_transformer = field_transformer
end

Instance Attribute Details

#field_mappingsObject (readonly)

Returns the value of attribute field_mappings.



3
4
5
# File 'lib/cdmbl/record_transformer.rb', line 3

def field_mappings
  @field_mappings
end

#field_transformerObject (readonly)

Returns the value of attribute field_transformer.



3
4
5
# File 'lib/cdmbl/record_transformer.rb', line 3

def field_transformer
  @field_transformer
end

#recordObject (readonly)

Returns the value of attribute record.



3
4
5
# File 'lib/cdmbl/record_transformer.rb', line 3

def record
  @record
end

Instance Method Details

#transform!Object



12
13
14
15
16
# File 'lib/cdmbl/record_transformer.rb', line 12

def transform!
  field_mappings.inject({}) do |dest_record, field_mapping|
    dest_record.merge(transform_field(record, field_mapping))
  end
end