Now you have no excuse for not test-driving your ActiveRecord
In your spec_helper.rb (pretty sure this works with Test::Unit
too, I’ll leave you to figure it out though)
Then in your specs:describe “acts_as_gilmore_girls” do before(:each) do build_model :nerds do text :omg_omg_bio string :name string :favorite_scene def awesome?(show_name) show_name == “Gilmore Girls” end end end it “should require favorite scene” do nerd = Nerd.new :favorite_scene => nil nerd.should_not be_valid nerd.errors.on(:favorite_scene).should_not be_nil end it “should think gilmore girls is awesome” nerd = Nerd.new nerd.awesome?(“Gilmore Girls”).should be_true end it “has other stuff” do
build_model method allows you to build an ActiveRecord on
the fly. It takes a block where you can specify columns and methods.
The table will be created in in an in-memory sqlite3 database. If
you need another adapter, this project ain’t for you. Sorry.
Single Table Inheritance
If you want to create a model that’s a subclass of another, you can
Picture model will then be a subclass of the
gem install nakajima-acts_as_fu —source= Installhttp://gems.github.com
- Maybe a couple more options… maybe.
Despite the above example, watching Gilmore Girls doesn’t make you
a nerd. Probably.
© Copyright 2008 Pat Nakajima. All Rights Reserved.