class EasyEnum::EasyEnum
Attributes
easy_enum[W]
value[R]
Public Class Methods
easy_enum(easy_enum = {})
click to toggle source
# File lib/easy_enum/easy_enum.rb, line 15 def self.easy_enum(easy_enum = {}) @easy_enum ||= easy_enum end
key(key)
click to toggle source
# File lib/easy_enum/easy_enum.rb, line 55 def self.key(key) value = members[key] return new(value) if value nil end
key?(key)
click to toggle source
# File lib/easy_enum/easy_enum.rb, line 68 def self.key?(key) keys.include? key end
keys()
click to toggle source
# File lib/easy_enum/easy_enum.rb, line 47 def self.keys easy_enum.keys end
members()
click to toggle source
# File lib/easy_enum/easy_enum.rb, line 43 def self.members easy_enum end
method_missing(method, *args)
click to toggle source
Calls superclass method
# File lib/easy_enum/easy_enum.rb, line 105 def self.method_missing(method, *args) return key(method) if keys.include?(method) super end
new(value)
click to toggle source
# File lib/easy_enum/easy_enum.rb, line 11 def initialize(value) self.value = value end
respond_to_missing?(method, *)
click to toggle source
Calls superclass method
# File lib/easy_enum/easy_enum.rb, line 111 def self.respond_to_missing?(method, *) return true if keys.include?(method) super end
size()
click to toggle source
# File lib/easy_enum/easy_enum.rb, line 76 def self.size easy_enum.count end
value(value)
click to toggle source
# File lib/easy_enum/easy_enum.rb, line 62 def self.value(value) return new(value) if values.include? value nil end
value?(value)
click to toggle source
# File lib/easy_enum/easy_enum.rb, line 72 def self.value?(value) values.include? value end
values()
click to toggle source
# File lib/easy_enum/easy_enum.rb, line 51 def self.values easy_enum.values end
Public Instance Methods
==(other)
click to toggle source
# File lib/easy_enum/easy_enum.rb, line 80 def ==(other) case other when self.class other.key == key when Symbol other == key else other == value end end
key()
click to toggle source
# File lib/easy_enum/easy_enum.rb, line 35 def key self.class.easy_enum.each do |key, val| return key if value == val end nil end
key=(key)
click to toggle source
# File lib/easy_enum/easy_enum.rb, line 27 def key=(key) if self.class.keys.include?(key) @value = self.class.members[key] return end raise KeyNotInEnum end
method_missing(method, *args)
click to toggle source
Calls superclass method
# File lib/easy_enum/easy_enum.rb, line 91 def method_missing(method, *args) self.class.easy_enum.each do |key, val| return val == value if method == "#{key}?".to_sym end super end
respond_to_missing?(method, *)
click to toggle source
Calls superclass method
# File lib/easy_enum/easy_enum.rb, line 99 def respond_to_missing?(method, *) return true if self.class.easy_enum.keys.map { |key| "#{key}?".to_sym }.include?(method) super end
value=(value)
click to toggle source
# File lib/easy_enum/easy_enum.rb, line 19 def value=(value) if self.class.values.include?(value) @value = value return end raise ValueNotInEnum end