From c2c34aa486c4f0e512355131dd0f203d437d3372 Mon Sep 17 00:00:00 2001
From: Kasper Weibel <weibel@gmail.com>
Date: Sat, 20 Apr 2013 18:32:55 +0200
Subject: [PATCH] Rename files and add comments

---
 examples/autoexpire_cache.rb                  | 35 -------------------
 ...li_client.rb => autoexpire_cache_dalli.rb} | 12 +++++--
 ...is_client.rb => autoexpire_cache_redis.rb} |  2 +-
 3 files changed, 10 insertions(+), 39 deletions(-)
 delete mode 100644 examples/autoexpire_cache.rb
 rename examples/{dalli_client.rb => autoexpire_cache_dalli.rb} (70%)
 rename examples/{redis_client.rb => autoexpire_cache_redis.rb} (94%)

diff --git a/examples/autoexpire_cache.rb b/examples/autoexpire_cache.rb
deleted file mode 100644
index beca293e..00000000
--- a/examples/autoexpire_cache.rb
+++ /dev/null
@@ -1,35 +0,0 @@
-# This class implements a common cache interface with simple delegation to the chosen cache store.
-
-require 'dalli_client'
-require 'redis_client'
-
-class AutoexpireCache
-  def initialize(store_type = :redis, ttl = 86400)
-    @store = case store_type
-               when :redis
-                 RedisClient.new(ttl)
-               when :dalli
-                 DalliClient.new(ttl)
-               else
-                 raise 'Unknown client type'
-             end
-  end
-
-  def [](url)
-    @store.[](url)
-  end
-
-  def []=(url, value)
-    @store.[]=(url, value)
-  end
-
-  def keys
-    @store.keys
-  end
-
-  def del(url)
-    @store.del(url)
-  end
-end
-
-Geocoder.configure(:cache => AutoexpireCache.new)
diff --git a/examples/dalli_client.rb b/examples/autoexpire_cache_dalli.rb
similarity index 70%
rename from examples/dalli_client.rb
rename to examples/autoexpire_cache_dalli.rb
index 4005ae95..0e51ba2e 100644
--- a/examples/dalli_client.rb
+++ b/examples/autoexpire_cache_dalli.rb
@@ -1,9 +1,15 @@
+# This class implements a cache with simple delegation to the the Dalli Memcached client
+# https://github.com/mperham/dalli
+#
+# A TTL is set on initialization
+# Dalli is set up as on Heroku using the Memcachier gem.
+# https://devcenter.heroku.com/articles/memcachier#ruby
+# On other setups you might have to specify your Memcached server in Dalli::Client.new
+
 require 'dalli/client'
 require 'yaml'
 
-class DalliClient
-  # Setup Dalli as on Heroku using the Memcachier gem.
-  # On other setups you'll have to specify your Memcached server
+class AutoexpireCacheDalli
   def initialize(ttl = 86400)
     @keys = 'GeocoderDalliClientKeys'
     @store = Dalli::Client.new(:expires_in => ttl)
diff --git a/examples/redis_client.rb b/examples/autoexpire_cache_redis.rb
similarity index 94%
rename from examples/redis_client.rb
rename to examples/autoexpire_cache_redis.rb
index abb8aa7b..6cb53139 100644
--- a/examples/redis_client.rb
+++ b/examples/autoexpire_cache_redis.rb
@@ -1,7 +1,7 @@
 # This class implements a cache with simple delegation to the Redis store, but
 # when it creates a key/value pair, it also sends an EXPIRE command with a TTL.
 # It should be fairly simple to do the same thing with Memcached.
-class RedisClient
+class AutoexpireCacheRedis
   def initialize(ttl = 86400)
     @store = Redis.new
     @ttl = ttl
-- 
GitLab