1. 16 8月, 2014 1 次提交
  2. 13 8月, 2014 1 次提交
  3. 07 7月, 2014 1 次提交
    • S
      Remove the `text?` predicate from the type objects · 35592307
      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.
      35592307
  4. 24 6月, 2014 2 次提交
  5. 14 6月, 2014 2 次提交
  6. 10 6月, 2014 2 次提交
    • S
      Rename `type_cast` to `type_cast_from_database` · d24e6407
      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.
      d24e6407
    • S
      Make `_before_type_cast` actually be before type cast · c93dbfef
      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
      c93dbfef
  7. 08 6月, 2014 1 次提交
    • S
      Do not type cast twice on attribute assignment · 368cca51
      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.
      368cca51
  8. 07 6月, 2014 1 次提交
  9. 03 6月, 2014 1 次提交
  10. 02 6月, 2014 2 次提交
    • Y
      docs, fix typo [ci skip] · 14a1cb7b
      Yves Senn 提交于
      14a1cb7b
    • S
      Remove most code related to serialized properties · 90c8be76
      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
      90c8be76
  11. 30 5月, 2014 3 次提交
  12. 28 5月, 2014 1 次提交