class EinsteinEnum::EnumValue

Attributes

enum[RW]
name[RW]
raw_value[RW]
types[RW]

Public Instance Methods

===(value) click to toggle source
# File lib/enum.rb, line 140
def ===(value)
  if value.is_a?(EnumValue)
    value.raw_value == raw_value
  elsif value.is_a?(Enum)
    value.enum_value.name == name && Enum.types_match(types, value.values)
  else
    false
  end
end
instance(values) click to toggle source
# File lib/enum.rb, line 150
def instance(values)
  instance = enum.new
  instance.enum_value = self
  instance.values = values
  instance
end
to_s() click to toggle source
# File lib/enum.rb, line 157
def to_s
  "#{name}(#{types.map{|t|t.to_s}.join(', ')})"
end