Sha256: a42742a3ef17dda845082068d5eb5bd8aefac6b42accb1d31dc7db19f90f3b90

Contents?: true

Size: 619 Bytes

Versions: 3

Compression:

Stored size: 619 Bytes

Contents

module CsvPiper
  module Processors
    # Collects errors for use after processing.
    # Instantiate and keep a reference, then once processing complete retrieve errors through #errors
    class CollectErrors
      # @return[Hash] Holds all of the errors for each row that was processed
      # { row_index => { errors_key => array_of_errors } }
      attr_reader :errors
      def initialize
        @errors = {}
      end

      def process(_source, transformed, row_errors)
        @errors[row_errors.row_index] = row_errors.errors unless row_errors.empty?
        [transformed, errors]
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
csv_piper-1.0.0 lib/csv_piper/processors/collect_errors.rb
csv_piper-0.1.9 lib/csv_piper/processors/collect_errors.rb
csv_piper-0.1.8 lib/csv_piper/processors/collect_errors.rb