ActiveRecord Enum

Provides ActiveRecord support for the nonstandard ENUM and SET data types.

Build Status

Running the tests

To run the tests for all supported database adapters:

rake spec:all

To run the tests for all adapters and all versions of ActiveRecord:

./spec/all_rails

To run the tests for just one adapter:

DB=mysql rake spec

Hypothetically asked questions

Y U NO WORK?!

It currently works with:

  • Rails 3.0, 3.1, 3.2, 4.0.
  • The mysql2 and sqlite adapters.
  • Ruby 1.9.3, 2.0.0. It probably also works with Ruby 1.8, but that is unsupported.

If you'd like to support other adapters, pull requests are welcome!

Why doesn't it validate anything?

Following ActiveRecord's lead, this plugin doesn't do any validation work itself.

For ENUM columns, you may be satisfied with something simple:

validates_inclusion_of :attr, :in => [ :possible, :values ]

Or if you prefer more bells and whistles, try nofxx/symbolize.

For SET columns, you may be interested in iangreenleaf/active_set.

Nonstandard SQL?! What's your problem, jerkweed?

This isn't a plugin everyone should use. There are a number of plugins to simulate enum behavior backed by standard data types. Personally, I like nofxx/symbolize.

However, sometimes we can't or won't avoid working with these data types. When that happens, I got you covered.

Contributors