aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/attribute_test.rb
Commit message (Collapse)AuthorAgeFilesLines
* Deprecate `false` as the way to halt AR callbacksclaudiob2015-01-021-0/+1
| | | | | | | | | | Before this commit, returning `false` in an ActiveRecord `before_` callback such as `before_create` would halt the callback chain. After this commit, the behavior is deprecated: will still work until the next release of Rails but will also display a deprecation warning. The preferred way to halt a callback chain is to explicitly `throw(:abort)`.
* Implement `==` on `Type::Value` and `Attribute`Sean Griffin2014-08-151-0/+30
| | | | | This was a small self contained piece of the refactoring that I am working on, which required these objects to be comparable.
* rename MiniTest to MinitestRajarshi Das2014-08-021-1/+1
|
* `Attribute` should know about its nameSean Griffin2014-06-261-12/+25
| | | | | This allows using polymorphism for the uninitialized attributes raising an exception behavior.
* Encapsulate the creation of `Attribute` objectsSean Griffin2014-06-261-0/+26
| | | | | | | | This will make it less painful to add additional properties, which should persist across writes, such as `name`. Conflicts: activerecord/lib/active_record/attribute_set.rb
* Introduce an Attribute object to handle the type casting danceSean Griffin2014-06-131-0/+103
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