module RubyEnum::InstanceMethods

Public Class Methods

new(name, value) click to toggle source
# File lib/ruby_enum.rb, line 57
def initialize(name, value)
  @_name = name
  @_value = value
end

Public Instance Methods

clone() click to toggle source
# File lib/ruby_enum.rb, line 47
def clone
  raise TypeError, "can't clone instance of enum #{self.class}"
end
dup() click to toggle source
# File lib/ruby_enum.rb, line 51
def dup
  raise TypeError, "can't dupe instance of enum #{self.class}"
end
method_missing(method, *args, &block) click to toggle source
Calls superclass method
# File lib/ruby_enum.rb, line 14
def method_missing(method, *args, &block)
  if method.to_s =~ /^(.*)\?/
    enum_names = self.class.all.map(&:name)
    expected_name = $1.to_sym
    if enum_names.include?(expected_name)
      return name == expected_name
    end
  end

  super
end
name() click to toggle source

@return [Symbol] the name of the enumeration instance

# File lib/ruby_enum.rb, line 43
def name
  @_name
end
respond_to?(method) click to toggle source
Calls superclass method
# File lib/ruby_enum.rb, line 26
def respond_to?(method)
  if method.to_s =~ /^(.*)\?/
    enum_names = self.class.all.map(&:name)
    return enum_names.include? $1.to_sym
  else
    super
  end
  super
end
value() click to toggle source

@return [String] the associated value of the enumeration instance

# File lib/ruby_enum.rb, line 38
def value
  @_value
end