REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 1.95 KB
Close
//proc/thread-self/root/opt/alt/ruby40/share/rubygems/rubygems/package/tar_reader.rb
Text
Base64
# frozen_string_literal: true # rubocop:disable Style/AsciiComments # Copyright (C) 2004 Mauricio Julio Fernández Pradier # See LICENSE.txt for additional licensing information. # rubocop:enable Style/AsciiComments ## # TarReader reads tar files and allows iteration over their items class Gem::Package::TarReader include Enumerable ## # Creates a new TarReader on +io+ and yields it to the block, if given. def self.new(io) reader = super return reader unless block_given? begin yield reader ensure reader.close end nil end attr_reader :io # :nodoc: ## # Creates a new tar file reader on +io+ which needs to respond to #pos, # #eof?, #read, #getc and #pos= def initialize(io) @io = io @init_pos = io.pos end ## # Close the tar file def close end ## # Iterates over files in the tarball yielding each entry 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 alias_method :each_entry, :each ## # NOTE: Do not call #rewind during #each def rewind if @init_pos == 0 @io.rewind else @io.pos = @init_pos end end ## # 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. def seek(name) # :yields: entry found = find do |entry| entry.full_name == name end return unless found yield found ensure rewind end end require_relative "tar_reader/entry"
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 1 × Files: 8
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
tar_reader
DIR
-
drwxr-xr-x
2026-06-09 07:03:28
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
digest_io.rb
1.33 KB
lrw-r--r--
2026-05-21 12:15:20
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
file_source.rb
610 B
lrw-r--r--
2026-05-21 12:15:20
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
io_source.rb
814 B
lrw-r--r--
2026-05-21 12:15:20
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
old.rb
3.62 KB
lrw-r--r--
2026-05-21 12:15:20
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
source.rb
72 B
lrw-r--r--
2026-05-21 12:15:20
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
tar_header.rb
6.40 KB
lrw-r--r--
2026-05-21 12:15:20
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
tar_reader.rb
1.95 KB
lrw-r--r--
2026-05-21 12:15:20
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
tar_writer.rb
7.59 KB
lrw-r--r--
2026-05-21 12:15:20
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).