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