class Tar::HeaderReader

Public Class Methods

new(io) click to toggle source
# File lib/tar/header_reader.rb, line 12
def initialize(io)
  @io = io
end

Public Instance Methods

read() click to toggle source
# File lib/tar/header_reader.rb, line 16
def read
  record = read_record

  if empty?(record)
    return nil if empty?(read_record)
    raise InvalidArchive, "empty header"
  end

  Header.parse(record)
end

Private Instance Methods

empty?(record) click to toggle source
# File lib/tar/header_reader.rb, line 33
def empty?(record)
  /\A\0+\z/m.match?(record)
end
read_record() click to toggle source
# File lib/tar/header_reader.rb, line 29
def read_record
  USTAR.read_record(@io)
end