Sha256: efe1f98a376006f707dfe9bc01e2ca1af8ec0d0974e6ff3288def7cbc787a33d

Contents?: true

Size: 563 Bytes

Versions: 5

Compression:

Stored size: 563 Bytes

Contents

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

      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
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
csv_piper-0.1.7 lib/csv_piper/processors/copy.rb
csv_piper-0.1.6 lib/csv_piper/processors/copy.rb
csv_piper-0.1.5 lib/csv_piper/processors/copy.rb
csv_piper-0.1.4 lib/csv_piper/processors/copy.rb
csv_piper-0.1.3 lib/csv_piper/processors/copy.rb