Skip to content
No description or website provided.
Ruby
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib
rails Make the thing load properly as a gem plugin
test
.gitignore
MIT-LICENSE
README.rdoc
Rakefile
VERSION.yml
enum_field.gemspec
init.rb

README.rdoc

EnumField

Macro to emulate a MySQL enum_field type thing.

Usage

This plugin encapsulates a validates_inclusion_of and automatically gives you a few more goodies automatically. That's it!

class Computer < ActiveRecord:Base
  enum_field :status, ['on', 'off', 'standby', 'sleep', 'out of this world']

  # Optionally with a message to replace the default one
  # enum_field :status, ['on', 'off', 'standby', 'sleep', 'out of this world'], :message => "incorrect status"

  #...
end

This will give you a few things:

  • add a validates_inclusion_of with a simple error message (“invalid #{field}”) or your custom message

  • define the following query methods, in the name of expressive code:

    • on?

    • off?

    • standby?

    • sleep?

    • out_of_this_world?

  • define the STATUSES constant, which contains the acceptable values

License

Copyright © 2008 James Golick, released under the MIT license

Something went wrong with that request. Please try again.