TarReader
reads tar files and allows iteration over their items
Namespace
Methods
Included Modules
Class Public methods
new(io) Link
Creates a new tar file reader on io
which needs to respond to pos, eof?, read, getc and pos=
Instance Public methods
close() Link
Close the tar file
each() Link
Iterates over files in the tarball yielding each entry
Also aliased as: each_entry
# File ruby/lib/rubygems/package/tar_reader.rb, line 51 def each return enum_for __method__ unless block_given? until @io.eof? do begin header = Gem::Package::TarHeader.from @io rescue ArgumentError => e # Specialize only exceptions from Gem::Package::TarHeader.strict_oct raise e unless e.message.match?(/ is not an octal string$/) raise Gem::Package::TarInvalidError, e.message end return if header.empty? entry = Gem::Package::TarReader::Entry.new header, @io yield entry entry.close end end
rewind() Link
seek(name) Link
Seeks through the tar file until it finds the entry
with name
and yields it. Rewinds the tar file to the beginning when the block terminates.