diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2006-09-05 00:02:17 +0000 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2006-09-05 00:02:17 +0000 |
commit | 26b76ea4ce6837a158d99b1071f6ae408cf65854 (patch) | |
tree | a13e955645ffc8ed493fb11c05e6e986c7bcc2c0 | |
parent | b445ab986a2c177621a2154b0559be4c700abeeb (diff) | |
download | rails-26b76ea4ce6837a158d99b1071f6ae408cf65854.tar.gz rails-26b76ea4ce6837a158d99b1071f6ae408cf65854.tar.bz2 rails-26b76ea4ce6837a158d99b1071f6ae408cf65854.zip |
load expects a Hash
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5008 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-rw-r--r-- | activeresource/lib/active_resource/base.rb | 2 | ||||
-rw-r--r-- | activeresource/test/base/load_test.rb | 7 |
2 files changed, 4 insertions, 5 deletions
diff --git a/activeresource/lib/active_resource/base.rb b/activeresource/lib/active_resource/base.rb index 40a50201a7..56c6dc172b 100644 --- a/activeresource/lib/active_resource/base.rb +++ b/activeresource/lib/active_resource/base.rb @@ -134,7 +134,7 @@ module ActiveResource # Manually load attributes from a hash. Recursively loads collections of # resources. def load(attributes) - return self if attributes.nil? + raise ArgumentError, "expected an attributes Hash, got #{attributes.inspect}" unless attributes.is_a?(Hash) 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 726e7100b7..97faebc143 100644 --- a/activeresource/test/base/load_test.rb +++ b/activeresource/test/base/load_test.rb @@ -14,10 +14,9 @@ class BaseLoadTest < Test::Unit::TestCase @person = Person.new end - def test_load_nil - assert_nothing_raised do - assert_equal @person, @person.load(nil) - end + def test_load_expects_hash + assert_raise(ArgumentError) { @person.load nil } + assert_raise(ArgumentError) { @person.load '<person id="1"/>' } end def test_load_simple_hash |