class Ronin::Support::Compression::Gzip::Writer

Handles writing gzip compressed data.

@see rubydoc.info/stdlib/zlib/Zlib/GzipWriter

@api public

@since 1.0.0

Public Class Methods

new(io_or_buffer, mode: 'w') click to toggle source

Initializes the gzip writer.

@param [IO, StringIO, String] io_or_buffer

The IO object or buffer to write to. If a `String` is given, then
it will be wrapped in a `StringIO` object using the optional
`mode` argument.

@param [String] mode

The optional mode to initialize the `StringIO` object to wrap
around the given buffer `String`.

@example Initializing with an IO object:

gzip = Compression::Gzip::Writer.new(io)

@example Initializing with a buffer:

buffer = ""
gzip   = Compression::Gzip::Writer.new(buffer)

@example Initializin with a buffer and append mode:

buffer = "foo"
gzip   = Compression::Gzip::Writer.new(buffer, mode: 'a')
Calls superclass method
# File lib/ronin/support/compression/gzip/writer.rb, line 61
def initialize(io_or_buffer, mode: 'w')
  io = case io_or_buffer
       when String then StringIO.new(io_or_buffer,mode)
       else             io_or_buffer
       end

  super(io)
end