1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Update to RubyGems 1.3.4 r2223

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
drbrain 2009-06-09 21:38:59 +00:00
parent a6afbaeb3b
commit 31c94ffeb5
126 changed files with 7610 additions and 3747 deletions

View file

@ -3,12 +3,19 @@
# See LICENSE.txt for additional licensing information.
#--
require 'rubygems/package'
##
# Class for reading entries out of a tar file
class Gem::Package::TarReader::Entry
##
# Header for this tar entry
attr_reader :header
##
# Creates a new tar entry for +header+ that will be read from +io+
def initialize(header, io)
@closed = false
@header = header
@ -21,24 +28,39 @@ class Gem::Package::TarReader::Entry
raise IOError, "closed #{self.class}" if closed?
end
##
# Number of bytes read out of the tar entry
def bytes_read
@read
end
##
# Closes the tar entry
def close
@closed = true
end
##
# Is the tar entry closed?
def closed?
@closed
end
##
# Are we at the end of the tar entry?
def eof?
check_closed
@read >= @header.size
end
##
# Full name of the tar entry
def full_name
if @header.prefix != "" then
File.join @header.prefix, @header.name
@ -47,6 +69,9 @@ class Gem::Package::TarReader::Entry
end
end
##
# Read one byte from the tar entry
def getc
check_closed
@ -58,20 +83,33 @@ class Gem::Package::TarReader::Entry
ret
end
##
# Is this tar entry a directory?
def directory?
@header.typeflag == "5"
end
##
# Is this tar entry a file?
def file?
@header.typeflag == "0"
end
##
# The position in the tar entry
def pos
check_closed
bytes_read
end
##
# Reads +len+ bytes from the tar file entry, or the rest of the entry if
# nil
def read(len = nil)
check_closed
@ -86,6 +124,9 @@ class Gem::Package::TarReader::Entry
ret
end
##
# Rewinds to the beginning of the tar file entry
def rewind
check_closed