Class: Pack::Delta::Copy

Inherits:
Struct
  • Object
show all
Defined in:
lib/pack/delta.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#offsetObject

Returns the value of attribute offset

Returns:

  • (Object)

    the current value of offset



9
10
11
# File 'lib/pack/delta.rb', line 9

def offset
  @offset
end

#sizeObject

Returns the value of attribute size

Returns:

  • (Object)

    the current value of size



9
10
11
# File 'lib/pack/delta.rb', line 9

def size
  @size
end

Class Method Details

.parse(input, byte) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/pack/delta.rb', line 10

def self.parse(input, byte)
  value  = Numbers::PackedInt56LE.read(input, byte)
  offset = value & 0xffffffff
  size   = value >> 32

  Copy.new(offset, size)
end

Instance Method Details

#to_sObject



18
19
20
21
22
# File 'lib/pack/delta.rb', line 18

def to_s
  bytes = Numbers::PackedInt56LE.write((size << 32) | offset)
  bytes[0] |= 0x80
  bytes.pack("C*")
end