From 61b962fea31d8909d31ab247a9d6958b89a99c4e Mon Sep 17 00:00:00 2001 From: Gibheer Date: Thu, 16 Jun 2011 13:16:56 +0200 Subject: [PATCH] * fixed a small bug with ruby 1.9.2 and #<=> * this method is implemented for every object, so another check is needed --- lib/polecat/storage/hash_storage.rb | 4 +++- spec/storage/hash_storage/add_spec.rb | 3 +-- spec/storage/hash_storage/delete_spec.rb | 2 +- spec/storage/hash_storage/find_spec.rb | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/polecat/storage/hash_storage.rb b/lib/polecat/storage/hash_storage.rb index 75be644..4f1e433 100644 --- a/lib/polecat/storage/hash_storage.rb +++ b/lib/polecat/storage/hash_storage.rb @@ -46,7 +46,9 @@ module Polecat end def check_key key - raise ArgumentError, 'key does not support #<=>' unless key.respond_to?(:<=>) + unless key.respond_to?(:<=>) && key.respond_to?(:<=) + raise ArgumentError, 'key does not support #<=>' + end end private :check_key end diff --git a/spec/storage/hash_storage/add_spec.rb b/spec/storage/hash_storage/add_spec.rb index 4285435..43da148 100644 --- a/spec/storage/hash_storage/add_spec.rb +++ b/spec/storage/hash_storage/add_spec.rb @@ -17,7 +17,6 @@ describe "HashStorage#add" do end it "raises an error when the attribute does not support #<=>" do - s.add('foo', 'bar') - lambda { s.add(:foo, 'baz') }.should raise_error(ArgumentError) + lambda { s.add(nil, 'baz') }.should raise_error(ArgumentError) end end diff --git a/spec/storage/hash_storage/delete_spec.rb b/spec/storage/hash_storage/delete_spec.rb index 0f4a90e..11080ef 100644 --- a/spec/storage/hash_storage/delete_spec.rb +++ b/spec/storage/hash_storage/delete_spec.rb @@ -22,6 +22,6 @@ describe "HashStorage#delete" do end it "raises an error when the argument does not support #<=>" do - lambda { s.delete(:foo) }.should raise_error(ArgumentError) + lambda { s.delete(nil) }.should raise_error(ArgumentError) end end diff --git a/spec/storage/hash_storage/find_spec.rb b/spec/storage/hash_storage/find_spec.rb index a19553b..a822d4f 100644 --- a/spec/storage/hash_storage/find_spec.rb +++ b/spec/storage/hash_storage/find_spec.rb @@ -19,6 +19,6 @@ describe "HashStorage#find" do end it "raises an error when the type does not know #<=>" do - lambda { s.find(:foo) }.should raise_error(ArgumentError) + lambda { s.find(nil) }.should raise_error(ArgumentError) end end