Class: Tar::Header
- Inherits:
-
Object
- Object
- Tar::Header
- Defined in:
- lib/tar/header.rb
Constant Summary collapse
- SCHEMA =
Schema.new { string :name, 100 octal_number :mode, 8 octal_number :uid, 8 octal_number :gid, 8 octal_number :size, 12 :mtime, 12 octal_number :checksum, 8 string :typeflag, 1 string :link_name, 100 string :magic, 6 string :version, 2 string :uname, 32 string :gname, 32 octal_number :dev_major, 8 octal_number :dev_minor, 8 string :prefix, 155 }
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(values, checksum: nil) ⇒ Header
constructor
A new instance of Header.
- #path ⇒ Object
Constructor Details
#initialize(values, checksum: nil) ⇒ Header
Returns a new instance of Header.
31 32 33 34 |
# File 'lib/tar/header.rb', line 31 def initialize(values, checksum: nil) @values = values check_checksum!(checksum) if checksum end |
Class Method Details
.parse(record) ⇒ Object
47 48 49 50 |
# File 'lib/tar/header.rb', line 47 def self.parse(record) expected_checksum = SCHEMA.clear(record, :checksum).chars.sum(&:ord) new(SCHEMA.parse(record), checksum: expected_checksum) end |
Instance Method Details
#path ⇒ Object
42 43 44 45 |
# File 'lib/tar/header.rb', line 42 def path return name if prefix.nil? "#{prefix}/#{name}" end |