from(stream)public
# File lib/rubygems/package/tar_header.rb, line 99
def self.from(stream)
header = stream.read 512
empty = (header == "\00"" * 512)
fields = header.unpack UNPACK_FORMAT
new :name => fields.shift,
:mode => strict_oct(fields.shift),
:uid => strict_oct(fields.shift),
:gid => strict_oct(fields.shift),
:size => strict_oct(fields.shift),
:mtime => strict_oct(fields.shift),
:checksum => strict_oct(fields.shift),
:typeflag => fields.shift,
:linkname => fields.shift,
:magic => fields.shift,
:version => strict_oct(fields.shift),
:uname => fields.shift,
:gname => fields.shift,
:devmajor => strict_oct(fields.shift),
:devminor => strict_oct(fields.shift),
:prefix => fields.shift,
:empty => empty
end Related methods
- Instance methods
- ==
- empty?
- to_s
- update_checksum
- Class methods
- from
- new
- strict_oct
- Private methods
-
calculate_checksum -
header -
oct