Class: SlowBlink::ENUM

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

Instance Attribute Summary collapse

Attributes inherited from Type

#location

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Type

#sequence?

Instance Attribute Details

#nameString (readonly)

Returns:

  • (String)


36
37
38
# File 'lib/slow_blink/enum.rb', line 36

def name
  @name
end

Class Method Details

.===(other) ⇒ Object



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

def self.===(other)
    self == other                
end

Instance Method Details

#symbol(nameOrVal) ⇒ Sym

Parameters:

  • nameOrVal (String, Integer)

Returns:

Raises:

  • (RangeError)

    nameOrVal does not resolve to a symbol



89
90
91
92
93
94
95
96
97
98
99
100
101
# File 'lib/slow_blink/enum.rb', line 89

def symbol(nameOrVal)
    if nameOrVal.kind_of? String
        if (result = @symbols[nameOrVal]).nil?
            raise RangeError
        end
        result
    else
        if (result = @symbols.values.detect{|s|s.value == nameOrVal.to_i}).nil?
            raise RangeError
        end
        result
    end
end

#symbolsArray<Sym>

Returns:



31
32
33
# File 'lib/slow_blink/enum.rb', line 31

def symbols
    @symbols.values
end