Sha256: e38e6249aa501594b49bf17d462d680fbd1b6dde466b77f731118d08292cc4d0

Contents?: true

Size: 426 Bytes

Versions: 2

Compression:

Stored size: 426 Bytes

Contents

module CSVRb
  class StreamCSVDeflator
    def initialize(enum)
      @enum = enum
      @deflator = Zlib::Deflate.new
    end

    def y
      @enum
    end

    def stream(row)
      v = CSV.generate_line(row, force_quotes: true, encoding: 'utf-8')
      y << @deflator.deflate(v, Zlib::SYNC_FLUSH)
    end

    def <<(row)
      stream(row)
    end

    def close
      y << @deflator.flush(Zlib::FINISH)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
csv_rb-5.2.1 lib/csv_rb/stream_csv_deflator.rb
csv_rb-0.5.2 lib/csv_rb/stream_csv_deflator.rb