1. 08 9月, 2012 1 次提交
  2. 21 8月, 2012 1 次提交
  3. 18 8月, 2012 2 次提交
    • J
      Avoid #any? · 2ff47c48
      Jon Leighton 提交于
      any? will check that each item in the array is truthy, as opposed to
      !empty? which will simply check that the array has length. For an empty
      array, !empty? still seems to be faster than any?
      2ff47c48
    • J
      Avoid deep_dup when intantiating. · 1b2c9077
      Jon Leighton 提交于
      deep_dup is slow. we only need to dup the values, so just do that
      directly.
      1b2c9077
  4. 11 8月, 2012 1 次提交
    • J
      Remove the dependent_restrict_raises option. · 5ad79989
      Jon Leighton 提交于
      It's not really a good idea to have this as a global config option. We
      should allow people to specify the behaviour per association.
      
      There will now be two new values:
      
      * :dependent => :restrict_with_exception implements the current
        behaviour of :restrict. :restrict itself is deprecated in favour of
        :restrict_with_exception.
      * :dependent => :restrict_with_error implements the new behaviour - it
        adds an error to the owner if there are dependent records present
      
      See #4727 for the original discussion of this.
      5ad79989
  5. 03 8月, 2012 2 次提交
  6. 28 7月, 2012 1 次提交
  7. 16 7月, 2012 1 次提交
  8. 19 6月, 2012 1 次提交
    • S
      Removing composed_of from ActiveRecord. · 14fc8b34
      Steve Klabnik 提交于
      This feature adds a lot of complication to ActiveRecord for dubious
      value. Let's talk about what it does currently:
      
      class Customer < ActiveRecord::Base
        composed_of :balance, :class_name => "Money", :mapping => %w(balance amount)
      end
      
      Instead, you can do something like this:
      
          def balance
            @balance ||= Money.new(value, currency)
          end
      
          def balance=(balance)
            self[:value] = balance.value
            self[:currency] = balance.currency
            @balance = balance
          end
      
      Since that's fairly easy code to write, and doesn't need anything
      extra from the framework, if you use composed_of today, you'll
      have to add accessors/mutators like that.
      
      Closes #1436
      Closes #2084
      Closes #3807
      14fc8b34
  9. 16 6月, 2012 1 次提交
  10. 10 6月, 2012 1 次提交
    • A
      Ensure that mass assignment options are preserved · c2e61aa6
      Andrew White 提交于
      There are two possible scenarios where the @mass_assignment_options
      instance variable can become corrupted:
      
      1. If the assign_attributes doesn't complete correctly, then
         subsequent calls to a nested attribute assignment method will use
         whatever options were passed to the previous assign_attributes call.
      
      2. With nested assign_attributes calls, the inner call will overwrite
         the current options. This will only affect nested attributes as the
         attribute hash is sanitized before any methods are called.
      
      To fix this we save the current options in a local variable and then
      restore these options in an ensure block.
      c2e61aa6
  11. 30 5月, 2012 1 次提交
  12. 27 5月, 2012 1 次提交
  13. 18 5月, 2012 1 次提交
  14. 17 5月, 2012 1 次提交
  15. 15 5月, 2012 3 次提交
  16. 12 5月, 2012 4 次提交
  17. 07 5月, 2012 1 次提交
  18. 05 5月, 2012 1 次提交
  19. 03 4月, 2012 1 次提交
    • B
      Removes caching from ActiveRecord::Core::ClassMethods#relation · 68677ffb
      Benedikt Deicke 提交于
      The #relation method gets called in four places and the return value was instantly cloned in three of them. The only place that did not clone was ActiveRecord::Scoping::Default::ClassMethods#unscoped. This introduced a bug described in #5667 and should really clone the relation, too. This means all four places would clone the relation, so it doesn't make a lot of sense caching it in the first place.
      
      The four places with calls to relations are:
      
      activerecord/lib/active_record/scoping/default.rb:110:in `block in build_default_scope'"
      activerecord/lib/active_record/scoping/default.rb:42:in `unscoped'"
      activerecord/lib/active_record/scoping/named.rb:38:in `scoped'"
      activerecord/lib/active_record/scoping/named.rb:52:in `scope_attributes'"
      68677ffb
  20. 30 3月, 2012 1 次提交
  21. 15 3月, 2012 1 次提交
  22. 14 3月, 2012 1 次提交
  23. 04 3月, 2012 1 次提交
    • C
      Initialize @stale_state to nil in association · 9b9357b2
      Carlos Antonio da Silva 提交于
      This apparently fix the warning related to @new_record variable not
      being initialized in AR's test suit, when an association is built and
      the object is marshalled/loaded.
      
      See these tests in AR's base_test.rb:
      
      test_marshalling_with_associations
      test_marshalling_new_record_round_trip_with_associations
      
      Closes #3720.
      9b9357b2
  24. 14 2月, 2012 1 次提交
  25. 08 2月, 2012 4 次提交
  26. 07 2月, 2012 1 次提交
  27. 29 1月, 2012 1 次提交
  28. 26 1月, 2012 1 次提交
  29. 21 1月, 2012 2 次提交