class AnyCable::RPC::Handler
Generic RPC handler
def build_env_response(socket)
def build_env_response(socket) AnyCable::EnvResponse.new( cstate: socket.cstate.changed_fields, istate: socket.istate.changed_fields ) end
def build_presence_response(socket)
def build_presence_response(socket) return unless socket.presence info = socket.presence[:info] info = info.to_json if info && !info.is_a?(String) AnyCable::PresenceResponse.new( type: socket.presence.fetch(:type), id: socket.presence.fetch(:id), info: info ) end
def build_socket(env:)
def build_socket(env:) AnyCable::Socket.new(env: env) end
def factory
def factory AnyCable.connection_factory end
def handle(cmd, data, meta = {})
def handle(cmd, data, meta = {}) middleware.call(cmd, data, meta) do send(cmd, data) end end
def initialize(middleware: AnyCable.middleware)
def initialize(middleware: AnyCable.middleware) @middleware = middleware @commands = {} end
def logger
def logger AnyCable.logger end
def supported?(cmd)
def supported?(cmd) %i[connect disconnect command].include?(cmd) end