Class: CsvPiper::Processors::Copy

Inherits:
Object
  • Object
show all
Defined in:
lib/csv_piper/processors/copy.rb

Instance Method Summary collapse

Constructor Details

#initialize(mapping = nil) ⇒ Copy

Returns a new instance of Copy.



4
5
6
7
# File 'lib/csv_piper/processors/copy.rb', line 4

def initialize(mapping = nil)
  mapping = Hash[ mapping.map { |val| [val, val] } ] if mapping.is_a?(Array)
  @mapping = mapping
end

Instance Method Details

#process(source, transformed, errors) ⇒ Object



9
10
11
12
13
14
15
16
17
18
# File 'lib/csv_piper/processors/copy.rb', line 9

def process(source, transformed, errors)
  if @mapping.is_a?(Hash)
    transformed = @mapping.each_with_object(transformed) do |(key, new_key), memo|
      memo[new_key] = source[key]
    end
  else
    transformed = transformed.merge(source)
  end
  [transformed, errors]
end