Sha256: 64bb824b30c2abcc13a1ae71798dc23245839ad70e2a7cd28060ab979a797ee1

Contents?: true

Size: 471 Bytes

Versions: 1

Compression:

Stored size: 471 Bytes

Contents

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

    def y
      @enum
    end

    def set(value)
      y << value
    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

1 entries across 1 versions & 1 rubygems

Version Path
csv_rb-5.2.2 lib/csv_rb/stream_csv_deflator.rb