Class: SlowBlink::Message::NANO_TIME Abstract

Inherits:
MILLI_TIME show all
Defined in:
lib/slow_blink/message/time.rb

Overview

This class is abstract.

Instance Method Summary collapse

Methods inherited from MILLI_TIME

#get, #initialize, #to_tag, type

Constructor Details

This class inherits a constructor from SlowBlink::Message::MILLI_TIME

Instance Method Details

#set(value) ⇒ Object #set(value) ⇒ Object #set(value) ⇒ Object

Overloads:

  • #set(value) ⇒ Object

    Set a nanosecond resolution time value

    Parameters:

    • value (Time, DateTime, Date)
  • #set(value) ⇒ Object

    Parameters:

    • value (String)

      time in ISO 8601

  • #set(value) ⇒ Object

    Parameters:

    • value (Integer)

      time in nanoseconds since UNIX epoch

Raises:

  • (TypeError)
  • (ArgumentError)


96
97
98
99
100
101
102
103
104
105
106
# File 'lib/slow_blink/message/time.rb', line 96

def set(value)            
    if value.kind_of? Time or value.kind_of? DateTime or value.kind_of? Date
        @value = time.to_datetime
    elsif value.kind_of? String
        @value = DateTime.parse(value)
    elsif value.kind_of? Integer
        @value = DateTime.strptime(value.to_s, '%N')
    else
        raise TypeError
    end                        
end