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:
parent
a6afbaeb3b
commit
31c94ffeb5
126 changed files with 7610 additions and 3747 deletions
|
@ -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
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue