module Zlib::GzipCompression

Compress data over the wire to Redis with GZip. This code was mostly stolen from `Dalli::GzipCompressor`.

github.com/petergoldstein/dalli/blob/master/lib/dalli/compressor.rb

Public Class Methods

deflate(data) click to toggle source

Compress the given data with GZip.

@param [String] data - Uncompressed data. @return [String]

# File lib/zlib/gzip_compression.rb, line 11
def self.deflate(data)
  io = StringIO.new(String.new(""), "w")
  gz = Zlib::GzipWriter.new(io)

  gz.write(data)
  gz.close

  io.string
end
inflate(data) click to toggle source

Decompress the given data with GZip.

@param [String] data - Compressed data. @return [String] Decompressed data.

# File lib/zlib/gzip_compression.rb, line 25
def self.inflate(data)
  io = StringIO.new(data, "rb")
  gz = Zlib::GzipReader.new(io)

  gz.read
end