Skip to content

krisr/attr_enum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

== AttrEnum

AttrEnum enables you to define ActiveRecord attributes like enums with specific values, names, and symbols

== Example

Assume user has a integer column status

  class User < ActiveRecord::Base
    attr_enum :status, {
       :active => 1,
       :was_suspended => 2,
       :cancelled => 3,
       :deleted => {:id => 4, :name => 'Deleted User'}
     }

    validates_inclusion_of :status, :in => Status.values
  end

Now you can do:

  user.status = User::Status::Deleted
  user.status_deleted? == true
  user.status_name == 'Deleted User'

and ...

  user.status = User::Status::Active
  user.status_active? == true
  user.status_deleted? == false
  user.status_name == 'Deleted'

You can also get at an options list for forms:

  User::Status.options = [['Active', '1'], ['Was Suspended', '2'], ['Cancelled', '3'], ['Deleted User','4']]

Copyright (c) 2009 Kris Rasmussen, released under the MIT license

About

Rails plugin for enum style attributes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages