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.hdel(proper_key("h:#{key}"), hkey)
  else
    storage.del(proper_key("k:#{key}"))
  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.hget(proper_key("h:#{key}"), hkey)
  else
    storage.get(proper_key("k:#{key}"))
  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