aboutsummaryrefslogtreecommitdiffstats
path: root/activeresource
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2006-09-05 00:02:17 +0000
committerJeremy Kemper <jeremy@bitsweat.net>2006-09-05 00:02:17 +0000
commit26b76ea4ce6837a158d99b1071f6ae408cf65854 (patch)
treea13e955645ffc8ed493fb11c05e6e986c7bcc2c0 /activeresource
parentb445ab986a2c177621a2154b0559be4c700abeeb (diff)
downloadrails-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
Diffstat (limited to 'activeresource')
-rw-r--r--activeresource/lib/active_resource/base.rb2
-rw-r--r--activeresource/test/base/load_test.rb7
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