ActiveRecord Enum
Provides ActiveRecord support for the nonstandard ENUM
and SET
data types.
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
andsqlite
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.