github
Advanced Search
  • Home
  • Pricing and Signup
  • Explore GitHub
  • Blog
  • Login

zargony / activerecord_symbolize

  • Admin
  • Watch Unwatch
  • Fork
  • Your Fork
  • Pull Request
  • Download Source
    • 29
    • 4
  • Source
  • Commits
  • Network (4)
  • Issues (0)
  • Graphs
  • Branch: master

click here to add a description

click here to add a homepage

  • Branches (1)
    • master ✓
  • Tags (0)
Sending Request…
Enable Donations

Pledgie Donations

Once activated, we'll place the following badge in your repository's detail box:
Pledgie_example
This service is courtesy of Pledgie.

Symbolize attribute values in ActiveRecord (e.g. for nicer enums) — Read more

  cancel

http://zargony.com/

  cancel
  • Private
  • Read-Only
  • HTTP Read-Only

This URL has Read+Write access

Made unit test independent from being installed as a Rails plugin 
zargony (author)
Wed Dec 31 04:35:13 -0800 2008
commit  2a73ef9028b9dab8c4c703174dca53ffba9d10f4
tree    24ff114bb1093df9b0a5501fd629d0d8ced2e6c3
parent  d4924dd4f3b2167ca0563247901075ec91ecfe3e
activerecord_symbolize /
name age
history
message
file MIT-LICENSE Tue Apr 15 08:19:00 -0700 2008 Updated copyright and removed unneeded stuff [zargony]
file README Sat Sep 27 03:41:26 -0700 2008 Updated README with validation options [zargony]
file Rakefile Tue Apr 15 08:16:04 -0700 2008 Initial commit: rails plugin skeleton [zargony]
file init.rb Wed Apr 16 09:28:13 -0700 2008 Added code from http://zargony.com/2007/09/07/s... [zargony]
directory lib/ Mon Aug 18 13:34:13 -0700 2008 Add auto validates_inclusion_of and get_#{attr_... [Everton A. Ribeiro]
directory test/ Wed Dec 31 04:35:13 -0800 2008 Made unit test independent from being installed... [zargony]
README
= Symbolize attribute values in ActiveRecord (e.g. for nicer enums)

This plugin introduces an easy way to use symbols for values of ActiveRecord
attributes. Symbolized attributes return a ruby symbol (or nil) as their value
and can be set using symbols.

== About

Since ActiveRecord does not natively support database column types of ENUM or
SET, you'll usually use a string attribute and restrict it to certain values
with validations. Using this plugin, the values of such pseudo-enums are
symbols, which look more ruby-style than strings.

Simply add "symbolize :attr_name" to your model class, and the specified
attribute will return symbol values and can be set using smbols (setting
string values will still work, which is important when using forms).

An attribute to symbolize should be a string (varchar) column in the database.

Blog: http://zargony.com/
Github: http://github.com/zargony/activerecord_symbolize

== Install

  ./script/plugin install git://github.com/zargony/activerecord_symbolize.git

== Usage

Add "symbolize :attr_name" to your model class. An attribute validation
(like validates_inclusion_of) can be added by using the :in option.

  class User < ActiveRecord::Base
    symbolize :gender, :in => [:female, :male]
  end

== Examples

  u = User.find_by_name('Anna')   # => #<User Anna>
  u.gender                        # => :female
  
  u = User.find_by_gender(:male)  # => #<User Bob>
  u.gender                        # => :male
  
  u = User.find(:all, :conditions => { :gender => :female })
  
  u = User.new(:name => 'ET', :gender => :unknown)
  u.save                          # => validation fails

== Notes

I've been using this for quite some time and made it a rails plugin now. More
background information can be found at
http://zargony.com/2007/09/07/symbolize-attribute-values-in-activerecord


Copyright (c) 2007-2008 Andreas Neuhaus, released under the MIT license
Blog | Support | Training | Contact | API | Status | Twitter | Help | Security
© 2010 GitHub Inc. All rights reserved. | Terms of Service | Privacy Policy
Powered by the Dedicated Servers and
Cloud Computing of Rackspace Hosting®
Dedicated Server