Skip to content

Instantly share code, notes, and snippets.

@macks
Created February 23, 2010 17:42
Show Gist options
  • Save macks/312459 to your computer and use it in GitHub Desktop.
Save macks/312459 to your computer and use it in GitHub Desktop.
require 'delegate'
class EnumValue < SimpleDelegator
def initialize(name, value)
@name = name
@value = value
super(@value)
end
def to_s
@name.to_s
end
def inspect
"\#<#{self.class} #{@name}=#{@value}>"
end
end
if __FILE__ == $0
require 'test/unit'
class EnumValueTest < Test::Unit::TestCase
def test_enum_value
enum_value = EnumValue.new(:name, 10)
assert_equal('name', enum_value.to_s)
assert(enum_value == 10)
assert(10 == enum_value)
assert(11, enum_value + 1)
assert(11, 1 + enum_value)
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment