Class: Mfp::Enum

Inherits:
Object
  • Object
show all
Extended by:
Enumerable
Defined in:
lib/mfp/enum.rb

Defined Under Namespace

Classes: Value

Class Method Summary collapse

Class Method Details

.[](value) ⇒ Object



71
# File 'lib/mfp/enum.rb', line 71

def [](value)   = registry.values.find { |v| v.value == value }

.define(name, value) ⇒ Object

Raises:

  • (ArgumentError)


61
62
63
64
65
66
67
68
69
# File 'lib/mfp/enum.rb', line 61

def define(name, value)
  name = name.to_sym
  raise ArgumentError, "#{name} already defined on #{self}" if const_defined?(name, false)

  instance = Value.new(self, name, value)
  const_set(name, instance)
  registry[name] = instance
  instance
end

.eachObject



75
# File 'lib/mfp/enum.rb', line 75

def each(&) = values.each(&)

.maxObject



76
# File 'lib/mfp/enum.rb', line 76

def max = values.max

.named(name) ⇒ Object



72
# File 'lib/mfp/enum.rb', line 72

def named(name) = registry[name.to_sym]

.namesObject



74
# File 'lib/mfp/enum.rb', line 74

def names       = registry.keys

.valuesObject



73
# File 'lib/mfp/enum.rb', line 73

def values      = registry.values