class NetzkeRedisPersistence::Store
Attributes
custom_key[RW]
redis[RW]
Public Class Methods
new(custom_key)
click to toggle source
# File lib/netzke_redis_persistence/store.rb, line 5 def initialize(custom_key) @redis = NetzkeRedisPersistence.configuration.get_redis_connection @custom_key = custom_key end
Public Instance Methods
[](key)
click to toggle source
# File lib/netzke_redis_persistence/store.rb, line 16 def [](key) v = redis.get(scoped_key(key)) begin res = v && Marshal.load(v) Rails.logger.info "netzke-redis-persitence: Reading key #{scoped_key(key)} on #{redis.inspect} => #{res}" res rescue => e r = e.message.match(/undefined class\/module (.*)/) if r[1] r[1].constantize.class self[key] end end end
[]=(key, val)
click to toggle source
# File lib/netzke_redis_persistence/store.rb, line 10 def []=(key, val) Rails.logger.info "netzke-redis-persitence: Writing key #{scoped_key(key)} on #{redis.inspect} => #{val.inspect}" val = Marshal.dump(val) redis.set(scoped_key(key), val) end
clear()
click to toggle source
# File lib/netzke_redis_persistence/store.rb, line 35 def clear keys = @redis.keys "#{session_key}*" keys.each do |key| self.delete key end end
delete(key)
click to toggle source
# File lib/netzke_redis_persistence/store.rb, line 31 def delete(key) @redis.del key end
scoped_key(key)
click to toggle source
# File lib/netzke_redis_persistence/store.rb, line 42 def scoped_key(key) "#{session_key}_#{key}" end
session_key()
click to toggle source
# File lib/netzke_redis_persistence/store.rb, line 46 def session_key "netzke_states_#{@custom_key}" end