Method: Zip::Inflater#read

Defined in:
lib/zip/zip.rb

#read(numberOfBytes = nil) ⇒ Object



117
118
119
120
121
122
123
124
125
126
# File 'lib/zip/zip.rb', line 117

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