Class | Gem::Package::TarReader::Entry |
In: |
lib/rubygems/package/tar_reader/entry.rb
|
Parent: | Object |
Class for reading entries out of a tar file
header | [R] | Header for this tar entry |
Closes the tar entry
# File lib/rubygems/package/tar_reader/entry.rb, line 41 41: def close 42: @closed = true 43: end
Is this tar entry a directory?
# File lib/rubygems/package/tar_reader/entry.rb, line 89 89: def directory? 90: @header.typeflag == "5" 91: end
Are we at the end of the tar entry?
# File lib/rubygems/package/tar_reader/entry.rb, line 55 55: def eof? 56: check_closed 57: 58: @read >= @header.size 59: end
Full name of the tar entry
# File lib/rubygems/package/tar_reader/entry.rb, line 64 64: def full_name 65: if @header.prefix != "" then 66: File.join @header.prefix, @header.name 67: else 68: @header.name 69: end 70: end
Read one byte from the tar entry
# File lib/rubygems/package/tar_reader/entry.rb, line 75 75: def getc 76: check_closed 77: 78: return nil if @read >= @header.size 79: 80: ret = @io.getc 81: @read += 1 if ret 82: 83: ret 84: end
The position in the tar entry
# File lib/rubygems/package/tar_reader/entry.rb, line 103 103: def pos 104: check_closed 105: 106: bytes_read 107: end
Reads len bytes from the tar file entry, or the rest of the entry if nil
# File lib/rubygems/package/tar_reader/entry.rb, line 113 113: def read(len = nil) 114: check_closed 115: 116: return nil if @read >= @header.size 117: 118: len ||= @header.size - @read 119: max_read = [len, @header.size - @read].min 120: 121: ret = @io.read max_read 122: @read += ret.size 123: 124: ret 125: end