Module: ZeroFormatter::Serializer::TimeSpanSerializer

Extended by:
TimeSpanSerializer
Included in:
TimeSpanSerializer
Defined in:
lib/zero_formatter/serializer/time.rb

Constant Summary collapse

Alias =
i(timespan duration)

Instance Method Summary collapse

Instance Method Details

#deserialize(bytes, offset = 0) ⇒ Object



11
12
13
14
15
16
# File 'lib/zero_formatter/serializer/time.rb', line 11

def deserialize(bytes, offset=0)
  value = {
    seconds: Utils.read_s8(bytes, offset),
    nanos: Utils.read_s4(bytes, offset+8)
  }
end

#serialize(value) ⇒ Object



6
7
8
9
# File 'lib/zero_formatter/serializer/time.rb', line 6

def serialize(value)
  value ||= { seconds: 0, nanos: 0 }
  Utils.write_s8(value[:seconds]) + Utils.write_s4(value[:nanos])
end