• S
    Introduce an Attribute object to handle the type casting dance · 6f08db05
    Sean Griffin 提交于
    There's a lot more that can be moved to these, but this felt like a good
    place to introduce the object. Plans are:
    
    - Remove all knowledge of type casting from the columns, beyond a
      reference to the cast_type
    - Move type_cast_for_database to these objects
    - Potentially make them mutable, introduce a state machine, and have
      dirty checking handled here as well
    - Move `attribute`, `decorate_attribute`, and anything else that
      modifies types to mess with this object, not the columns hash
    - Introduce a collection object to manage these, reduce allocations, and
      not require serializing the types
    6f08db05
attribute_methods.rb 16.3 KB