From 7da2c18df495cf6c4ce27410566321445b4de4ef Mon Sep 17 00:00:00 2001
From: PavelT <paveltyk@gmail.com>
Date: Sun, 25 Mar 2012 20:57:32 +0300
Subject: [PATCH] [185] Cache with :get and :set methods only

---
 lib/geocoder/cache.rb | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/lib/geocoder/cache.rb b/lib/geocoder/cache.rb
index 2465d29f..d4cb1ac1 100644
--- a/lib/geocoder/cache.rb
+++ b/lib/geocoder/cache.rb
@@ -10,14 +10,24 @@ module Geocoder
     # Read from the Cache.
     #
     def [](url)
-      interpret store[key_for(url)]
+      interpret case
+        when store.respond_to?(:[])
+          store[key_for(url)]
+        when store.respond_to?(:get)
+          store.get key_for(url)
+      end
     end
 
     ##
     # Write to the Cache.
     #
     def []=(url, value)
-      store[key_for(url)] = value
+      case
+        when store.respond_to?(:[]=)
+          store[key_for(url)] = value
+        when store.respond_to?(:set)
+          store.set key_for(url), value
+      end
     end
 
     ##
-- 
GitLab