aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJamis Buck <jamis@37signals.com>2005-08-14 08:58:53 +0000
committerJamis Buck <jamis@37signals.com>2005-08-14 08:58:53 +0000
commitb1a4f91a58363d872ffbaaac4ceb7c50fb372b2b (patch)
treec2c93995986d30586ff68030a5c0dba6d89dace8
parent73594d88f3c396596179bf680f363fd0b2543238 (diff)
downloadrails-b1a4f91a58363d872ffbaaac4ceb7c50fb372b2b.tar.gz
rails-b1a4f91a58363d872ffbaaac4ceb7c50fb372b2b.tar.bz2
rails-b1a4f91a58363d872ffbaaac4ceb7c50fb372b2b.zip
Make destroy return self #1913 [sebastian.kanthak@muehlheim.de]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2011 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-rwxr-xr-xactiverecord/lib/active_record/base.rb2
-rwxr-xr-xactiverecord/test/base_test.rb6
2 files changed, 7 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb
index 16554ffb55..e31987473e 100755
--- a/activerecord/lib/active_record/base.rb
+++ b/activerecord/lib/active_record/base.rb
@@ -1187,7 +1187,7 @@ module ActiveRecord #:nodoc:
# Just freeze the attributes hash, such that associations are still accessible even on destroyed records.
def freeze
- @attributes.freeze
+ @attributes.freeze; self
end
def frozen?
diff --git a/activerecord/test/base_test.rb b/activerecord/test/base_test.rb
index b6e2b2f7b7..249c4116a6 100755
--- a/activerecord/test/base_test.rb
+++ b/activerecord/test/base_test.rb
@@ -223,6 +223,12 @@ class BasicsTest < Test::Unit::TestCase
assert_raise(ActiveRecord::RecordNotFound) { Topic.find(topic.id) }
end
+ def test_destroy_returns_self
+ topic = Topic.new("title" => "Yet Another Title")
+ assert topic.save
+ assert_equal topic, topic.destroy, "destroy did not return destroyed object"
+ end
+
def test_record_not_found_exception
assert_raises(ActiveRecord::RecordNotFound) { topicReloaded = Topic.find(99999) }
end