Class: SlowBlink::Message::ENUM Abstract

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

Overview

This class is abstract.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(value) ⇒ ENUM

Note:

calls #set(value)

Returns a new instance of ENUM.



65
66
67
# File 'lib/slow_blink/message/enum.rb', line 65

def initialize(value)
    set(value)
end

Class Method Details

.typeObject



27
28
29
# File 'lib/slow_blink/message/enum.rb', line 27

def self.type
    @type             
end

Instance Method Details

#getString

Returns:

  • (String)


45
46
47
# File 'lib/slow_blink/message/enum.rb', line 45

def get
    @value
end

#set(value) ⇒ Object

Set a symbol

Parameters:

  • value (String)

    symbol in enumeration

Raises:

  • (RangeError)

    value is not valid symbol



52
53
54
55
56
57
58
59
60
61
62
# File 'lib/slow_blink/message/enum.rb', line 52

def set(value)
    if value.kind_of? String
        if self.class.type.symbol(value)
            @value = value.to_s
        else
            raise RangeError.new "symbol '#{value}' not defined in enumeration"
        end
    else
        raise TypeError.new "value must be a String"
    end              
end

#to_tagObject



74
75
76
# File 'lib/slow_blink/message/enum.rb', line 74

def to_tag
    @value
end