Just starting a new thread so that it's easy to follow.
I just submitted a patch at trac to add a new class method called
"set_default_values" ( not a great name I think ), which lets you do
all kinds of crazy stuff with setting default values.
It also lets you make use of other attributes ( set by supplying
attributes to Model.new call or even those set by set_default_values
call ) in setter method/proc.
If people like this approach, I'll add tests to patch, else will just
close the ticket