Sha256: d90a48294f4841711cc513e22fc9f0e35f5d3cc6be13b981985df7b41f363200

Contents?: true

Size: 528 Bytes

Versions: 5

Compression:

Stored size: 528 Bytes

Contents

# frozen_string_literal: true

class Lite::Report::Hash < Lite::Report::Base

  def export
    assign_headers_to_csv_options!
    generate_or_stream_export!
  end

  def import
    CSV.foreach(@data, @csv_options)
       .with_object([]) do |row, array|
         next if header_row?(row)

         row = convert_to_hash!(row)
         array << process_import_row!(row)
       end
  end

  private

  def assign_headers_to_csv_options!
    return unless write_headers?

    @csv_options[:headers] ||= @data.first.keys
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
lite-report-1.0.4 lib/lite/report/hash.rb
lite-report-1.0.3 lib/lite/report/hash.rb
lite-report-1.0.2 lib/lite/report/hash.rb
lite-report-1.0.1 lib/lite/report/hash.rb
lite-report-1.0.0 lib/lite/report/hash.rb