Class: Mfp::Enum
- Inherits:
-
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
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
|
.each ⇒ Object
75
|
# File 'lib/mfp/enum.rb', line 75
def each(&) = values.each(&)
|
.max ⇒ Object
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]
|
.names ⇒ Object
74
|
# File 'lib/mfp/enum.rb', line 74
def names = registry.keys
|
.values ⇒ Object
73
|
# File 'lib/mfp/enum.rb', line 73
def values = registry.values
|