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