diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2006-09-04 23:36:13 +0000 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2006-09-04 23:36:13 +0000 |
commit | 97487c4e1154696fb0b30ea8727ba5459f575719 (patch) | |
tree | 76e6e9d4521f32d995d123995b2e73e884645aae | |
parent | 1d4d037b0d74fbc3c1cad1c192a6ea7278aff081 (diff) | |
download | rails-97487c4e1154696fb0b30ea8727ba5459f575719.tar.gz rails-97487c4e1154696fb0b30ea8727ba5459f575719.tar.bz2 rails-97487c4e1154696fb0b30ea8727ba5459f575719.zip |
load nil is noop. use new? instead of new_resource?
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5006 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-rw-r--r-- | activeresource/lib/active_resource/base.rb | 5 | ||||
-rw-r--r-- | activeresource/test/base/load_test.rb | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/activeresource/lib/active_resource/base.rb b/activeresource/lib/active_resource/base.rb index ec6cee19fa..40a50201a7 100644 --- a/activeresource/lib/active_resource/base.rb +++ b/activeresource/lib/active_resource/base.rb @@ -102,7 +102,7 @@ module ActiveResource @prefix_options = prefix_options end - def new_resource? + def new? id.nil? end @@ -115,7 +115,7 @@ module ActiveResource end def save - new_resource? ? create : update + new? ? create : update end def destroy @@ -134,6 +134,7 @@ module ActiveResource # Manually load attributes from a hash. Recursively loads collections of # resources. def load(attributes) + return self if attributes.nil? attributes.each do |key, value| @attributes[key.to_s] = case value diff --git a/activeresource/test/base/load_test.rb b/activeresource/test/base/load_test.rb index 674f8456f0..726e7100b7 100644 --- a/activeresource/test/base/load_test.rb +++ b/activeresource/test/base/load_test.rb @@ -14,6 +14,12 @@ class BaseLoadTest < Test::Unit::TestCase @person = Person.new end + def test_load_nil + assert_nothing_raised do + assert_equal @person, @person.load(nil) + end + end + def test_load_simple_hash assert_equal Hash.new, @person.attributes assert_equal @matz.stringify_keys, @person.load(@matz).attributes |