module ActiveModel::Attributes::ClassMethods

def define_default_attribute(name, value, type)

def define_default_attribute(name, value, type)
  self._default_attributes = _default_attributes.deep_dup
  if value == NO_DEFAULT_PROVIDED
    default_attribute = _default_attributes[name].with_type(type)
  else
    default_attribute = Attribute::UserProvidedDefault.new(
      name,
      value,
      type,
      _default_attributes.fetch(name.to_s) { nil },
    )
  end
  _default_attributes[name] = default_attribute
end