Parent

Class Index [+]

Quicksearch

Gem::Package::TarReader::Entry

Class for reading entries out of a tar file

Attributes

header[R]

Header for this tar entry

Public Class Methods

new(header, io) click to toggle source

Creates a new tar entry for header that will be read from io

    # File lib/rubygems/package/tar_reader/entry.rb, line 19
19:   def initialize(header, io)
20:     @closed = false
21:     @header = header
22:     @io = io
23:     @orig_pos = @io.pos
24:     @read = 0
25:   end

Public Instance Methods

bytes_read() click to toggle source

Number of bytes read out of the tar entry

    # File lib/rubygems/package/tar_reader/entry.rb, line 34
34:   def bytes_read
35:     @read
36:   end
close() click to toggle source

Closes the tar entry

    # File lib/rubygems/package/tar_reader/entry.rb, line 41
41:   def close
42:     @closed = true
43:   end
closed?() click to toggle source

Is the tar entry closed?

    # File lib/rubygems/package/tar_reader/entry.rb, line 48
48:   def closed?
49:     @closed
50:   end
directory?() click to toggle source

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
eof?() click to toggle source

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
file?() click to toggle source

Is this tar entry a file?

    # File lib/rubygems/package/tar_reader/entry.rb, line 96
96:   def file?
97:     @header.typeflag == "0"
98:   end
full_name() click to toggle source

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
getc() click to toggle source

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
pos() click to toggle source

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
read(len = nil) click to toggle source

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
rewind() click to toggle source

Rewinds to the beginning of the tar file entry

     # File lib/rubygems/package/tar_reader/entry.rb, line 130
130:   def rewind
131:     check_closed
132: 
133:     raise Gem::Package::NonSeekableIO unless @io.respond_to? :pos=
134: 
135:     @io.pos = @orig_pos
136:     @read = 0
137:   end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.