class Lit::RedisStorage
Public Class Methods
new()
click to toggle source
# File lib/lit/adapters/redis_storage.rb, line 15 def initialize Lit.redis end
Public Instance Methods
[](key)
click to toggle source
# File lib/lit/adapters/redis_storage.rb, line 19 def [](key) if Lit.redis.exists(_prefixed_key_for_array(key)) Lit.redis.lrange(_prefixed_key(key), 0, -1) elsif Lit.redis.exists(_prefixed_key_for_nil(key)) nil else Lit.redis.get(_prefixed_key(key)) end end
[]=(k, v)
click to toggle source
# File lib/lit/adapters/redis_storage.rb, line 29 def []=(k, v) delete(k) if v.is_a?(Array) Lit.redis.set(_prefixed_key_for_array(k), '1') v.each do |ve| Lit.redis.rpush(_prefixed_key(k), ve.to_s) end elsif v.nil? Lit.redis.set(_prefixed_key_for_nil(k), '1') Lit.redis.set(_prefixed_key(k), '') else Lit.redis.set(_prefixed_key(k), v) end end
clear()
click to toggle source
# File lib/lit/adapters/redis_storage.rb, line 50 def clear Lit.redis.del(keys) unless keys.empty? end
delete(k)
click to toggle source
# File lib/lit/adapters/redis_storage.rb, line 44 def delete(k) Lit.redis.del(_prefixed_key_for_array(k)) Lit.redis.del(_prefixed_key_for_nil(k)) Lit.redis.del(_prefixed_key(k)) end
has_key?(key)
click to toggle source
# File lib/lit/adapters/redis_storage.rb, line 58 def has_key?(key) Lit.redis.exists(_prefixed_key(key)) end
Also aliased as: key?
incr(key)
click to toggle source
# File lib/lit/adapters/redis_storage.rb, line 63 def incr(key) Lit.redis.incr(_prefixed_key(key)) end
keys()
click to toggle source
# File lib/lit/adapters/redis_storage.rb, line 54 def keys Lit.redis.keys(_prefixed_key + '*') end
prefix()
click to toggle source
# File lib/lit/adapters/redis_storage.rb, line 73 def prefix _prefix end
sort()
click to toggle source
# File lib/lit/adapters/redis_storage.rb, line 67 def sort Lit.redis.keys.sort.map do |k| [k, self.[](k)] end end
Private Instance Methods
_prefix()
click to toggle source
# File lib/lit/adapters/redis_storage.rb, line 79 def _prefix prefix = 'lit:' if Lit.storage_options.is_a?(Hash) && Lit.storage_options.key?(:prefix) prefix += "#{Lit.storage_options[:prefix]}:" end prefix end
_prefixed_key(key = '')
click to toggle source
# File lib/lit/adapters/redis_storage.rb, line 87 def _prefixed_key(key = '') _prefix + key.to_s end
_prefixed_key_for_array(key = '')
click to toggle source
# File lib/lit/adapters/redis_storage.rb, line 91 def _prefixed_key_for_array(key = '') _prefix + 'array_flags:' + key.to_s end
_prefixed_key_for_nil(key = '')
click to toggle source
# File lib/lit/adapters/redis_storage.rb, line 95 def _prefixed_key_for_nil(key = '') _prefix + 'nil_flags:' + key.to_s end