Sha256: eaaf3d53dee4bcbdc91f57f83fbd3317c1c222f9103d104fd9879ef7cac79691

Contents?: true

Size: 497 Bytes

Versions: 2

Compression:

Stored size: 497 Bytes

Contents

require 'csv'

module Chronicle
  module ETL
    class CsvLoader < Chronicle::ETL::Loader
      register_connector do |r|
        r.description = 'CSV'
      end

      def initialize(options={})
        super(options)
        @rows = []
      end

      def load(record)
        @rows << record.to_h_flattened.values
      end

      def finish
        z = $stdout
        CSV(z) do |csv|
          @rows.each do |row|
            csv << row
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
chronicle-etl-0.3.1 lib/chronicle/etl/loaders/csv_loader.rb
chronicle-etl-0.3.0 lib/chronicle/etl/loaders/csv_loader.rb