class Loco::WsConnectionStorage
Attributes
storage[R]
Public Class Methods
current()
click to toggle source
# File lib/loco/ws_connection_storage.rb, line 10 def current instance end
new()
click to toggle source
# File lib/loco/ws_connection_storage.rb, line 15 def initialize @storage = Config.redis_instance end
Public Instance Methods
add(key, val)
click to toggle source
# File lib/loco/ws_connection_storage.rb, line 70 def add(key, val) storage.sadd(proper_key("s:#{key}"), val) end
del(key, hkey = nil)
click to toggle source
# File lib/loco/ws_connection_storage.rb, line 43 def del(key, hkey = nil) if hkey.nil? storage.del(proper_key("k:#{key}")) else storage.hdel(proper_key("h:#{key}"), hkey) end end
exists?(key)
click to toggle source
# File lib/loco/ws_connection_storage.rb, line 23 def exists?(key) storage.exists?(proper_key(key)) end
get(key, hkey = nil)
click to toggle source
# File lib/loco/ws_connection_storage.rb, line 27 def get(key, hkey = nil) if hkey.nil? storage.get(proper_key("k:#{key}")) else storage.hget(proper_key("h:#{key}"), hkey) end end
hlen(key)
click to toggle source
# File lib/loco/ws_connection_storage.rb, line 66 def hlen(key) storage.hlen(proper_key("h:#{key}")) end
member?(key, val)
click to toggle source
# File lib/loco/ws_connection_storage.rb, line 78 def member?(key, val) storage.sismember(proper_key("s:#{key}"), val) end
members(key)
click to toggle source
# File lib/loco/ws_connection_storage.rb, line 74 def members(key) storage.smembers(proper_key("s:#{key}")) end
rem(key, val)
click to toggle source
# File lib/loco/ws_connection_storage.rb, line 82 def rem(key, val) storage.srem(proper_key("s:#{key}"), val) end
scan(match: nil, all: false) { |split('uuid:').last| ... }
click to toggle source
# File lib/loco/ws_connection_storage.rb, line 51 def scan(match: nil, all: false, &block) match = 'uuid:*' if all storage.scan_each(match: "#{proper_key('s:')}#{match}").each do |key| if all yield(key.split('uuid:').last) else storage.smembers(key).each(&block) end end end
scan_hash(key, &block)
click to toggle source
# File lib/loco/ws_connection_storage.rb, line 62 def scan_hash(key, &block) storage.hscan_each(proper_key("h:#{key}"), &block) end
set(key, val, opts = {})
click to toggle source
# File lib/loco/ws_connection_storage.rb, line 35 def set(key, val, opts = {}) if val.is_a?(Hash) storage.hset(proper_key("h:#{key}"), val) else storage.set(proper_key("k:#{key}"), val, ex: opts[:ex]) end end
type(key)
click to toggle source
# File lib/loco/ws_connection_storage.rb, line 19 def type(key) storage.type(proper_key(key)) end
Private Instance Methods
proper_key(key)
click to toggle source
# File lib/loco/ws_connection_storage.rb, line 88 def proper_key(key) "#{Config.app_name}:#{key}" end