File: generic.rb

package info (click to toggle)
ruby-geocoder 1.8.6-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 900 kB
  • sloc: ruby: 8,419; makefile: 3
file content (35 lines) | stat: -rw-r--r-- 711 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
require 'geocoder/cache_stores/base'

module Geocoder::CacheStore
  class Generic < Base
    def write(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

    def read(url)
      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

    def keys
      store.keys
    end

    def remove(key)
      store.delete(key)
    end
  end
end