class Geocoder::Cache
Public Class Methods
new(store, prefix)
click to toggle source
# File lib/geocoder/cache.rb, line 4 def initialize(store, prefix) @store = store @prefix = prefix end
Public Instance Methods
[](url)
click to toggle source
Read from the Cache
.
# File lib/geocoder/cache.rb, line 12 def [](url) interpret case when store.respond_to?(:[]) store[key_for(url)] when store.respond_to?(:get) store.get key_for(url) when store.respond_to?(:read) store.read key_for(url) end end
[]=(url, value)
click to toggle source
Write to the Cache
.
# File lib/geocoder/cache.rb, line 26 def []=(url, value) case when store.respond_to?(:[]=) store[key_for(url)] = value when store.respond_to?(:set) store.set key_for(url), value when store.respond_to?(:write) store.write key_for(url), value end end
expire(url)
click to toggle source
Delete cache entry for given URL, or pass :all
to clear all URLs.
# File lib/geocoder/cache.rb, line 41 def expire(url) if url == :all if store.respond_to?(:keys) urls.each{ |u| expire(u) } else raise(NoMethodError, "The Geocoder cache store must implement `#keys` for `expire(:all)` to work") end else expire_single_url(url) end end