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