I’ve just put out a plugin for ActiveRecord that stops you having to
write repetitive bundles of methods such as
class Order < ActiveRecord::Base
def self.unpaid find_all_by_paid(false) end def mark_as_paid update_attribute(:paid, true) # related tasks end def mark_as_unpaid update_attribute(:paid, false) # related tasks end
It gives you dynamic attribute-based methods similar to these. You can
use certain negative prefixes to look for false values - Order.unpaid
returns orders where paid is false - and chain attributes together, as
in Order.paid_and_delivered, Cocktail.shaken_but_not_stirred, etc.
More info here:
I’d really appreciate a few people kicking its tyres in anything other
than MySQL, or in Rails versions 1.0.x (is anyone still using those).
Comments/bugs/test reports are always welcome.