Browse files

Don't not remove double negatives

  • Loading branch information...
1 parent d23c332 commit 5b28e5254267c581ce6934408aaf458616e44e3f @jonleighton jonleighton committed with tenderlove Jan 6, 2011
View
8 activerecord/lib/active_record/associations/has_one_association.rb
@@ -14,11 +14,11 @@ def build(attributes = {})
new_record(:build_association, attributes)
end
- def replace(obj, dont_save = false)
+ def replace(obj, save = true)
load_target
unless @target.nil? || @target == obj
- if @reflection.options[:dependent] && !dont_save
+ if @reflection.options[:dependent] && save
case @reflection.options[:dependent]
when :delete
@target.delete if @target.persisted?
@@ -45,7 +45,7 @@ def replace(obj, dont_save = false)
set_inverse_instance(obj)
loaded
- unless !@owner.persisted? || obj.nil? || dont_save
+ unless !@owner.persisted? || obj.nil? || !save
return (obj.save ? self : false)
else
return (obj.nil? ? nil : self)
@@ -65,7 +65,7 @@ def association_scope
def new_record(method, attributes)
record = scoped.scoping { @reflection.send(method, attributes) }
- replace(record, true)
+ replace(record, false)
record
end
end
View
2 activerecord/test/cases/associations/inverse_associations_test.rb
@@ -161,7 +161,7 @@ def test_parent_instance_should_be_shared_with_replaced_via_accessor_child
def test_parent_instance_should_be_shared_with_replaced_via_method_child
m = Man.find(:first)
f = Face.new(:description => 'haunted')
- m.face.replace(f, false)
+ m.face.replace(f)
assert_not_nil f.man
assert_equal m.name, f.man.name, "Name of man should be the same before changes to parent instance"
m.name = 'Bongo'

0 comments on commit 5b28e52

Please sign in to comment.