Class: MiniTarball::Header

Inherits:
Object
  • Object
show all
Defined in:
lib/mini_tarball/header.rb

Constant Summary collapse

BLOCK_SIZE =

Size of each block in the tar file in bytes

512
TYPE_REGULAR =

bytes

"0"
"L"
FIELDS =

rubocop:disable Layout/HashAlignment

{
  name:     { length: 100, type: :chars },
  mode:     { length:   8, type: :number },
  uid:      { length:   8, type: :number },
  gid:      { length:   8, type: :number },
  size:     { length:  12, type: :number },
  mtime:    { length:  12, type: :number },
  checksum: { length:   8, type: :checksum },
  typeflag: { length:   1, type: :chars },
  linkname: { length: 100, type: :chars },
  magic:    { length:   6, type: :chars },
  version:  { length:   2, type: :chars },
  uname:    { length:  32, type: :chars },
  gname:    { length:  32, type: :chars },
  devmajor: { length:   8, type: :number },
  devminor: { length:   8, type: :number },
  prefix:   { length: 155, type: :chars }
}

Instance Method Summary collapse

Constructor Details

#initialize(name:, mode: 0, uid: nil, gid: nil, size: 0, mtime: 0, typeflag: TYPE_REGULAR, linkname: "", uname: nil, gname: nil) ⇒ Header

rubocop:enable Layout/HashAlignment



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/mini_tarball/header.rb', line 32

def initialize(name:, mode: 0, uid: nil, gid: nil, size: 0, mtime: 0, typeflag: TYPE_REGULAR, linkname: "", uname: nil, gname: nil)
  @values = {
    name: name,
    mode: mode,
    uid: uid,
    gid: gid,
    size: size,
    mtime: mtime.to_i,
    checksum: nil,
    typeflag: typeflag,
    linkname: linkname,
    magic: "ustar ",
    version: " ",
    uname: uname,
    gname: gname,
    devmajor: nil,
    devminor: nil,
    prefix: ""
  }
end

Instance Method Details

#value_of(key) ⇒ Object



53
54
55
# File 'lib/mini_tarball/header.rb', line 53

def value_of(key)
  @values[key]
end