Class: Rant::Archive::Rubyzip::Inflater
- Inherits:
-
Decompressor
- Object
- Decompressor
- Rant::Archive::Rubyzip::Inflater
- Defined in:
- lib/rant/archive/rubyzip.rb
Overview
:nodoc:all
Constant Summary
Constants inherited from Decompressor
Instance Method Summary collapse
-
#initialize(inputStream) ⇒ Inflater
constructor
A new instance of Inflater.
-
#input_finished? ⇒ Boolean
to be used with produce_input, not read (as read may still have more data cached).
- #produce_input ⇒ Object
- #read(numberOfBytes = nil) ⇒ Object
Constructor Details
#initialize(inputStream) ⇒ Inflater
Returns a new instance of Inflater.
193 194 195 196 197 198 |
# File 'lib/rant/archive/rubyzip.rb', line 193 def initialize(inputStream) super @zlibInflater = Zlib::Inflate.new(-Zlib::MAX_WBITS) @outputBuffer="" @hasReturnedEmptyString = ! EMPTY_FILE_RETURNS_EMPTY_STRING_FIRST end |
Instance Method Details
#input_finished? ⇒ Boolean
to be used with produce_input, not read (as read may still have more data cached)
220 221 222 |
# File 'lib/rant/archive/rubyzip.rb', line 220 def input_finished? @outputBuffer.empty? && internal_input_finished? end |
#produce_input ⇒ Object
211 212 213 214 215 216 217 |
# File 'lib/rant/archive/rubyzip.rb', line 211 def produce_input if (@outputBuffer.empty?) return internal_produce_input else return @outputBuffer.slice!(0...(@outputBuffer.length)) end end |
#read(numberOfBytes = nil) ⇒ Object
200 201 202 203 204 205 206 207 208 209 |
# File 'lib/rant/archive/rubyzip.rb', line 200 def read(numberOfBytes = nil) readEverything = (numberOfBytes == nil) while (readEverything || @outputBuffer.length < numberOfBytes) break if internal_input_finished? @outputBuffer << internal_produce_input end return value_when_finished if @outputBuffer.length==0 && input_finished? endIndex= numberOfBytes==nil ? @outputBuffer.length : numberOfBytes return @outputBuffer.slice!(0...endIndex) end |