Find file
Fetching contributors…
Cannot retrieve contributors at this time
45 lines (24 sloc) 1.21 KB
This gem is a ROR extension to support enumerations in the database schema using the enum type in MySQL. Currently only MySQL is implemented.
Tested with Rails 3, for Rails 2 you should better use enum-column plugin (
How to use it.
In you Gemfile:
gem 'enum_column', :git => 'git://'
In your schema:
When you create your schema, specify the constraint as a limit:
create_table :enumerations, :force => true do |t|
t.column :severity, :enum, :limit => [:low, :medium, :high, :critical], :default => :medium
t.column :color, :enum, :limit => [:red, :blue, :green, :yellow]
In the model:
You can then automatically validate this column using:
validates_columns :severity, :color
The rest will be handled for you. All enumerated values will be given as symbols.
@e =
@e.severity = :low
You can always use the column reflection to get the list of possible values from the database column.
Will yield: [:red, :blue, :green, :yellow]