about summary refs log tree commit homepage
path: root/lib/mogilefs/mogilefs.rb
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2012-06-06 02:10:52 +0000
committerEric Wong <normalperson@yhbt.net>2012-06-06 02:10:52 +0000
commitdc0fa66e56a271f4de431ecfc909686d27d73f78 (patch)
tree2a923981c6cd55eb92ff1a1f455d0b2c9e372090 /lib/mogilefs/mogilefs.rb
parent112df6360d87356e03a21e8cc4ae24b49eede95f (diff)
downloadmogilefs-client-dc0fa66e56a271f4de431ecfc909686d27d73f78.tar.gz
Specifying an invalid domain will raise
MogileFS::Backend::UnregDomain error instead of merely
returning `false'.  Only checks for keys in the correct
domain (but non-existent keys) return false.
Diffstat (limited to 'lib/mogilefs/mogilefs.rb')
-rw-r--r--lib/mogilefs/mogilefs.rb9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/mogilefs/mogilefs.rb b/lib/mogilefs/mogilefs.rb
index ba8de2c..eccca78 100644
--- a/lib/mogilefs/mogilefs.rb
+++ b/lib/mogilefs/mogilefs.rb
@@ -140,7 +140,14 @@ class MogileFS::MogileFS < MogileFS::Client
   # Returns +true+ if +key+ exists, +false+ if not
   def exist?(key)
     args = { :key => key, :domain => @domain , :ruby_no_raise => true}
-    Hash === @backend.get_paths(args)
+    case rv = @backend.get_paths(args)
+    when Hash
+      true
+    when MogileFS::Backend::UnknownKeyError
+      false
+    else
+      raise rv
+    end
   end
 
   # Get the URIs for +key+ (paths) as URI::HTTP objects