class Tar::Header
Constants
- SCHEMA
Public Class Methods
new(values, checksum: nil)
click to toggle source
# File lib/tar/header.rb, line 31 def initialize(values, checksum: nil) @values = values check_checksum!(checksum) if checksum end
parse(record)
click to toggle source
# 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
Public Instance Methods
path()
click to toggle source
# File lib/tar/header.rb, line 42 def path return name if prefix.nil? "#{prefix}/#{name}" end
Private Instance Methods
check_checksum!(expected_checksum)
click to toggle source
# File lib/tar/header.rb, line 54 def check_checksum!(expected_checksum) raise ChecksumMismatch, "checksum mismatch at #{path.inspect}: expected #{expected_checksum}, got #{checksum}" unless checksum == expected_checksum end