Class: RoutingNumber::RedisStore
- Defined in:
- lib/bank_routing/storage/redis.rb
Constant Summary collapse
- LOADED_KEY =
"LoadedRoutingNumbers".freeze
- LOADING_KEY =
"#{LOADED_KEY}::loading".freeze
- STORAGE_KEY =
"RoutingNumberLookup"
Instance Method Summary collapse
- #connect ⇒ Object
- #done_loading! ⇒ Object
- #get(num) ⇒ Object
-
#initialize(*args) ⇒ RedisStore
constructor
A new instance of RedisStore.
- #loaded! ⇒ Object
- #loaded? ⇒ Boolean
- #loading! ⇒ Object
- #loading? ⇒ Boolean
- #reconnect! ⇒ Object
- #save(num, obj) ⇒ Object
- #shutdown! ⇒ Object
- #store ⇒ Object
Methods inherited from StoreBase
Constructor Details
#initialize(*args) ⇒ RedisStore
Returns a new instance of RedisStore.
11 12 13 14 |
# File 'lib/bank_routing/storage/redis.rb', line 11 def initialize(*args) super(*args) require 'redis' end |
Instance Method Details
#connect ⇒ Object
54 55 56 57 58 |
# File 'lib/bank_routing/storage/redis.rb', line 54 def connect log.info "Connecting to Redis." log.debug "Connection settings: #{.inspect}" Redis.new() end |
#done_loading! ⇒ Object
33 34 35 36 |
# File 'lib/bank_routing/storage/redis.rb', line 33 def done_loading! store.del(LOADING_KEY) loaded! end |
#get(num) ⇒ Object
42 43 44 45 46 47 48 |
# File 'lib/bank_routing/storage/redis.rb', line 42 def get(num) if cnt = store.hget(STORAGE_KEY,num.to_s) Yajl::Parser.new(symbolize_keys: true).parse(cnt) else nil end end |
#loaded! ⇒ Object
20 21 22 23 |
# File 'lib/bank_routing/storage/redis.rb', line 20 def loaded! store.set(LOADED_KEY,"yes") store.expire(LOADED_KEY,60*60*24*7) end |
#loaded? ⇒ Boolean
16 17 18 |
# File 'lib/bank_routing/storage/redis.rb', line 16 def loaded? store.exists(LOADED_KEY) end |
#loading! ⇒ Object
25 26 27 |
# File 'lib/bank_routing/storage/redis.rb', line 25 def loading! store.setnx(LOADING_KEY,"yup") end |
#loading? ⇒ Boolean
29 30 31 |
# File 'lib/bank_routing/storage/redis.rb', line 29 def loading? loading! end |
#reconnect! ⇒ Object
60 61 62 63 |
# File 'lib/bank_routing/storage/redis.rb', line 60 def reconnect! @store = nil store end |
#save(num, obj) ⇒ Object
38 39 40 |
# File 'lib/bank_routing/storage/redis.rb', line 38 def save(num,obj) store.hset(STORAGE_KEY,num.to_s,Yajl::Encoder.encode(obj)) end |
#shutdown! ⇒ Object
65 66 67 |
# File 'lib/bank_routing/storage/redis.rb', line 65 def shutdown! @store = nil end |
#store ⇒ Object
50 51 52 |
# File 'lib/bank_routing/storage/redis.rb', line 50 def store @store ||= connect end |