One of the things I really like about ActiveRecord is using a block when I new something up...
Person.new do |p| p.first_name = "John" p.last_name = "Brown" p.dob = Date.parse("5/9/1800") end
Fortunately this behavior is extremely easy to implement outside of ActiveRecord - by stealing from ActiveRecord::Base
's source code of course!
class Person attr_accessor :first_name, :last_name, :dob def initialize yield self if block_given? end end
Not rocket surgery but now that I have written about it I'm much less likely to forget how to do it.