Class: SlowBlink::Message::MILLI_TIME Abstract

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

Overview

This class is abstract.

Direct Known Subclasses

NANO_TIME

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(value) ⇒ MILLI_TIME

Note:

calls #set(value)

Returns a new instance of MILLI_TIME.



69
70
71
# File 'lib/slow_blink/message/time.rb', line 69

def initialize(value)
    set(value)            
end

Class Method Details

.typeObject



29
30
31
# File 'lib/slow_blink/message/time.rb', line 29

def self.type
    @type
end

Instance Method Details

#getDateTime

Returns:

  • (DateTime)


43
44
45
# File 'lib/slow_blink/message/time.rb', line 43

def get
    @value
end

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

Overloads:

  • #set(value) ⇒ Object

    Set a millisecond time value

    Parameters:

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

    Parameters:

    • value (String)

      time in ISO 8601

  • #set(value) ⇒ Object

    Parameters:

    • value (String)

      time in milliseconds since UNIX epoch

Raises:

  • (TypeError)
  • (ArgumentError)


56
57
58
59
60
61
62
63
64
65
66
# File 'lib/slow_blink/message/time.rb', line 56

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

#to_tagObject



78
79
80
# File 'lib/slow_blink/message/time.rb', line 78

def to_tag
    @value.to_s
end