Class: Cosmos::UnixTimeConversion

Inherits:
Conversion show all
Defined in:
lib/cosmos/conversions/unix_time_conversion.rb

Overview

Converts a unix format time: Epoch Jan 1 1970, seconds and microseconds

Instance Attribute Summary

Attributes inherited from Conversion

#converted_bit_size, #converted_type

Instance Method Summary collapse

Constructor Details

#initialize(seconds_item_name, microseconds_item_name = nil) ⇒ UnixTimeConversion

Initializes the time item to grab from the packet



24
25
26
27
# File 'lib/cosmos/conversions/unix_time_conversion.rb', line 24

def initialize(seconds_item_name, microseconds_item_name = nil)
  @seconds_item_name = seconds_item_name
  @microseconds_item_name = microseconds_item_name
end

Instance Method Details

#call(value, packet, buffer) ⇒ Float



31
32
33
34
35
36
37
# File 'lib/cosmos/conversions/unix_time_conversion.rb', line 31

def call(value, packet, buffer)
  if @microseconds_item_name
    return Time.at(packet.read(@seconds_item_name, :RAW, buffer), packet.read(@microseconds_item_name, :RAW, buffer))
  else
    return Time.at(packet.read(@seconds_item_name, :RAW, buffer), 0)
  end
end

#to_sString



40
41
42
43
44
45
46
# File 'lib/cosmos/conversions/unix_time_conversion.rb', line 40

def to_s
  if @microseconds_item_name
    return "Time.at(packet.read('#{@seconds_item_name}', :RAW, buffer), packet.read('#{@microseconds_item_name}', :RAW, buffer))"
  else
    return "Time.at(packet.read('#{@seconds_item_name}', :RAW, buffer), 0)"
  end
end