aboutsummaryrefslogtreecommitdiffstats
path: root/activeresource
diff options
context:
space:
mode:
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