class Hashie::Dash
def update_attributes!(attributes)
def update_attributes!(attributes) update_attributes(attributes) self.class.defaults.each_pair do |prop, value| next unless fetch(prop, nil).nil? self[prop] = begin val = value.dup if val.is_a?(Proc) val.arity == 1 ? val.call(self) : val.call else val end rescue TypeError value end end assert_required_attributes_set! end