class ZipTricks::FileReader::StoredReader
Rubocop: convention: Missing top-level class documentation comment.
Public Class Methods
new(from_io, compressed_data_size)
click to toggle source
# File lib/zip_tricks/file_reader/stored_reader.rb, line 5 def initialize(from_io, compressed_data_size) @io = from_io @compressed_data_size = compressed_data_size @already_read = 0 end
Public Instance Methods
eof?()
click to toggle source
# File lib/zip_tricks/file_reader/stored_reader.rb, line 32 def eof? @already_read >= @compressed_data_size end
extract(n_bytes = nil)
click to toggle source
# File lib/zip_tricks/file_reader/stored_reader.rb, line 11 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 compressed_chunk end