class Tros::DataFile::DeflateCodec

Attributes

level[R]

Public Class Methods

new(level=Zlib::DEFAULT_COMPRESSION) click to toggle source
    # File lib/tros/data_file.rb
309 def initialize(level=Zlib::DEFAULT_COMPRESSION)
310   @level = level
311 end

Public Instance Methods

codec_name() click to toggle source
    # File lib/tros/data_file.rb
313 def codec_name; 'deflate'; end
compress(data) click to toggle source
    # File lib/tros/data_file.rb
326 def compress(data)
327   zstream = Zlib::Deflate.new(level, -Zlib::MAX_WBITS)
328   compressed = zstream.deflate(data)
329   compressed << zstream.finish
330 ensure
331   zstream.close
332 end
decompress(compressed) click to toggle source
    # File lib/tros/data_file.rb
315 def decompress(compressed)
316   # Passing a negative number to Inflate puts it into "raw" RFC1951 mode
317   # (without the RFC1950 header & checksum). See the docs for
318   # inflateInit2 in http://www.zlib.net/manual.html
319   zstream = Zlib::Inflate.new(-Zlib::MAX_WBITS)
320   data = zstream.inflate(compressed)
321   data << zstream.finish
322 ensure
323   zstream.close
324 end