Now you have no excuse for not test-driving your ActiveRecord
extending plugins.
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- ETC!
end
end
The 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.
TODO
- Maybe a couple more options… maybe.
NOTE
Despite the above example, watching Gilmore Girls doesn’t make you
a nerd. Probably.
© Copyright 2008 Pat Nakajima. All Rights Reserved.