class Loco::WsConnectionManager

Constants

EXPIRATION

Public Class Methods

new(resource, opts = {}) click to toggle source
# File lib/loco/ws_connection_manager.rb, line 7
def initialize(resource, opts = {})
  if opts[:identifier]
    @identifier = resource
  else
    @resource = resource
  end
end

Public Instance Methods

add(uuid) click to toggle source
# File lib/loco/ws_connection_manager.rb, line 15
def add(uuid)
  WsConnectionStorage.current.add(identifier, uuid)
  WsConnectionStorage.current.add("uuid:#{uuid}", identifier)
  update(uuid)
  WsConnectionChecker.(identifier, skip: uuid)
end
del(uuid, skip_checker: false) click to toggle source
# File lib/loco/ws_connection_manager.rb, line 22
def del(uuid, skip_checker: false)
  WsConnectionStorage.current.rem(identifier, uuid)
  WsConnectionStorage.current.rem("uuid:#{uuid}", identifier)
  WsConnectionStorage.current.del(uuid)
  WsConnectionChecker.(identifier) unless skip_checker
end
update(uuid) click to toggle source
# File lib/loco/ws_connection_manager.rb, line 29
def update(uuid)
  WsConnectionStorage.current.set(uuid, 'ok', ex: EXPIRATION)
end

Private Instance Methods

identifier() click to toggle source
# File lib/loco/ws_connection_manager.rb, line 35
def identifier
  @identifier ||= WsConnectionIdentifier.(@resource)
end