Sha256: dd5b00cda2e2d4197911340202b70091bc83906cbbe8d2e79b3ad902e3cab109
Contents?: true
Size: 746 Bytes
Versions: 7
Compression:
Stored size: 746 Bytes
Contents
class ZipTricks::FileReader::InflatingReader def initialize(from_io, compressed_data_size) @io = from_io @compressed_data_size = compressed_data_size @already_read = 0 @zlib_inflater = ::Zlib::Inflate.new(-Zlib::MAX_WBITS) end def extract(n_bytes=nil) n_bytes ||= (@compressed_data_size - @already_read) return if eof? available = @compressed_data_size - @already_read return if available.zero? n_bytes = available if n_bytes > available return '' if n_bytes.zero? compressed_chunk = @io.read(n_bytes) return if compressed_chunk.nil? @already_read += compressed_chunk.bytesize @zlib_inflater.inflate(compressed_chunk) end def eof? @zlib_inflater.finished? end end
Version data entries
7 entries across 7 versions & 1 rubygems