attr_enum

A class macro to define an enumeration variable. See en.wikipedia.org/wiki/Enumerated_type for more information.

Usage

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.

Installation

From rubyforge:

gem install attr_enum

From github:

gem install kmcd-attr_enum --source http://gems.github.com