- 16 8月, 2014 1 次提交
-
-
由 Sean Griffin 提交于
This was a small self contained piece of the refactoring that I am working on, which required these objects to be comparable.
-
- 13 8月, 2014 1 次提交
-
-
由 Akshay Vishnoi 提交于
-
- 07 7月, 2014 1 次提交
-
-
由 Sean Griffin 提交于
This was only used for uniqueness validations. The first usage was in conjunction with `limit`. Types which cast to string, but are not considered text cannot have a limit. The second case was only with an explicit `:case_sensitive => true` option given by the user.
-
- 24 6月, 2014 2 次提交
-
-
由 Sean Griffin 提交于
-
由 Anton Cherepanov 提交于
-
- 14 6月, 2014 2 次提交
-
-
由 Sean Griffin 提交于
-
由 Sean Griffin 提交于
We have several mutable types on Active Record now. (Serialized, JSON, HStore). We need to be able to detect if these have been modified in place.
-
- 10 6月, 2014 2 次提交
-
-
由 Sean Griffin 提交于
In some cases there is a difference between the two, we should always be doing one or the other. For convenience, `type_cast` is still a private method on type, so new types that do not need different behavior don't need to implement two methods, but it has been moved to private so it cannot be used accidentally.
-
由 Sean Griffin 提交于
- The following is now true for all types, all the time - `model.attribute_before_type_cast == given_value` - `model.attribute == model.save_and_reload.attribute` - `model.attribute == model.dup.attribute` - `model.attribute == YAML.load(YAML.dump(model)).attribute` - Removes the remaining types implementing `type_cast_for_write` - Simplifies the implementation of time zone aware attributes - Brings tz aware attributes closer to being implemented as an attribute decorator - Adds additional point of control for custom types
-
- 08 6月, 2014 1 次提交
-
-
由 Sean Griffin 提交于
The definition of `write_attribute` in dirty checking ultimately leads to the columns calling `type_cast` on the value to perform the comparison. However, this is a potentially expensive computation that we cache when it occurs in `read_attribute`. The only case that we need the non-type-cast form is for numeric, so we pass that through as well (something I'm looking to remove in the future). This also reduces the number of places that manually access various stages in an attribute's type casting lifecycle, which will aid in one of the larger refactorings that I'm working on.
-
- 07 6月, 2014 1 次提交
-
-
由 Sean Griffin 提交于
Only `Date` and `Time` are handled.
-
- 03 6月, 2014 1 次提交
-
-
由 Sean Griffin 提交于
The types know more about what is going on than the dirty module. Let's ask them!
-
- 02 6月, 2014 2 次提交
-
-
由 Yves Senn 提交于
-
由 Sean Griffin 提交于
Nearly completely implemented in terms of custom properties. `_before_type_cast` now stores the raw serialized string consistently, which removes the need to keep track of "state". The following is now consistently true: - `model.serialized == model.reload.serialized` - A model can be dumped and loaded infinitely without changing - A model can be saved and reloaded infinitely without changing
-
- 30 5月, 2014 3 次提交
-
-
由 Yves Senn 提交于
This removes the case statement in `SchemaDumper` and gives every `Type` the possibility to control the SchemaDumper default value output. /cc @sgrif
-
由 Sean Griffin 提交于
-
由 Sean Griffin 提交于
Many of the methods defined in `AttributeMethods::Serialization` can be refactored onto this type as well, but this is a reasonable small step. Removes the `Type` class, and the need for `decorate_columns` to handle serialized types.
-
- 28 5月, 2014 1 次提交
-
-
由 Sean Griffin 提交于
`ActiveRecord::ConnectionAdapters::Type::Value` => `ActiveRecord::Type::Value`
-