- compact_attributes does return "
nil but set" attributes. This differs from attributes.compact, which is surprising behavior.
- unset_attributes should exist, with the current functionality of
compact_attributes, and...
- unset_attributes should trigger the firing of the defaults, because...
- otherwise calling or not calling
attributes and then compact_attributes give different behavior; this should be addressed by...
attribute_set? should return true for a field with a default.
- this is somewhat controversial, but if you believe as flip does that an attribute with a default has always had that value, just lazily evaluated then the behavior is correct.
Bug atually filed by flip, so if TD disagrees he may follow up...