1. 29 1月, 2013 4 次提交
  2. 28 1月, 2013 2 次提交
    • J
      Prevent Relation#merge from collapsing wheres on the RHS · c8d88990
      Jon Leighton 提交于
      This caused a bug with the new associations implementation, because now
      association conditions are represented as Arel nodes internally right up
      to when the whole thing gets turned to SQL.
      
      In Rails 3.2, association conditions get turned to raw SQL early on,
      which prevents Relation#merge from interfering.
      
      The current implementation was buggy when a default_scope existed on the
      target model, since we would basically end up doing:
      
        default_scope.merge(association_scope)
      
      If default_scope contained a where(foo: 'a') and association_scope
      contained a where(foo: 'b').where(foo: 'c') then the merger would see
      that the same column is representated on both sides of the merge and
      collapse the wheres to all but the last: where(foo: 'c')
      
      Now, the RHS of the merge is left alone.
      
      Fixes #8990
      c8d88990
    • C
      Fix typo: adaptors => adapters [ci skip] · 78562309
      Carlos Antonio da Silva 提交于
      78562309
  3. 27 1月, 2013 4 次提交
    • D
      Fix cases where delete_records on a has_many association caused errors · 0a71c7b8
      Derek Kraan 提交于
      because of an ambiguous column name. This happened if the association
      model had a default scope that referenced a third table, and the third
      table also referenced the original table (with an identical
      foreign_key).
      
      Mysql requires that ambiguous columns are deambiguated by using the full
      table.column syntax. Postgresql and Sqlite use a different syntax for
      updates altogether (and don't tolerate table.name syntax), so the fix
      requires always including the full table.column and discarding it later
      for Sqlite and Postgresql.
      0a71c7b8
    • L
      Use `silence` instead of `quietly` to silence the `CheckPending` middleware. · 70af2bde
      Lucas Mazza 提交于
      `Kernel.quietly` silences `STDOUT` and `STDERR`, which is useless if
      the logger is writing to a file, while `AS::Logger#silence` swaps the
      logger level to `ERROR`.
      
      Related to #8820 and #8052.
      70af2bde
    • A
      Simplify type casting code for timezone aware attributes · 41ff6a10
      Andrew White 提交于
      With the addition of String#in_time_zone and Date#in_time_zone
      we can simplify the type casting code by checking if the value
      has an `in_time_zone` method.
      41ff6a10
    • L
      Fix handling of dirty time zone aware attributes · bc982cbc
      Lilibeth De La Cruz 提交于
      Previously, when `time_zone_aware_attributes` were enabled, after
      changing a datetime or timestamp attribute and then changing it back
      to the original value, `changed_attributes` still tracked the
      attribute as changed. This caused `[attribute]_changed?` and
      `changed?` methods to return true incorrectly.
      
      Example:
      
          in_time_zone 'Paris' do
            order = Order.new
            original_time = Time.local(2012, 10, 10)
            order.shipped_at = original_time
            order.save
            order.changed? # => false
      
            # changing value
            order.shipped_at = Time.local(2013, 1, 1)
            order.changed? # => true
      
            # reverting to original value
            order.shipped_at = original_time
            order.changed? # => false, used to return true
          end
      bc982cbc
  4. 26 1月, 2013 1 次提交
  5. 25 1月, 2013 2 次提交
  6. 24 1月, 2013 2 次提交
  7. 23 1月, 2013 1 次提交
  8. 22 1月, 2013 7 次提交
  9. 21 1月, 2013 2 次提交
  10. 20 1月, 2013 1 次提交
  11. 19 1月, 2013 1 次提交
  12. 18 1月, 2013 7 次提交
  13. 17 1月, 2013 1 次提交
  14. 16 1月, 2013 2 次提交
  15. 15 1月, 2013 1 次提交
  16. 14 1月, 2013 1 次提交
  17. 13 1月, 2013 1 次提交