From 26b76ea4ce6837a158d99b1071f6ae408cf65854 Mon Sep 17 00:00:00 2001
From: Jeremy Kemper <jeremy@bitsweat.net>
Date: Tue, 5 Sep 2006 00:02:17 +0000
Subject: load expects a Hash

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5008 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
---
 activeresource/lib/active_resource/base.rb | 2 +-
 activeresource/test/base/load_test.rb      | 7 +++----
 2 files changed, 4 insertions(+), 5 deletions(-)

(limited to 'activeresource')

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
-- 
cgit v1.2.3