A class macro to define an enumeration variable. See en.wikipedia.org/wiki/Enumerated_type for more information.
class Card attr_enum :suit, %w( clubs hearts diamonds spades ) end c = Card.new c.suit = 'clubs' c.suit => 'clubs' c.suit = 'jack' => EnumeratedTypeError, Card#suit must be one of clubs, hearts, diamonds, spades.
From rubyforge:
gem install attr_enum
From github:
gem install kmcd-attr_enum --source http://gems.github.com