class Ferrum::SessionClient
def self.event_name(event, session_id)
def self.event_name(event, session_id) [event, session_id].compact.join("_") end
def build_message(method, params)
def build_message(method, params) @client.build_message(method, params).merge(sessionId: session_id) end
def close
def close @client.subscriber.clear(session_id: session_id) end
def command(method, async: false, **params)
def command(method, async: false, **params) message = build_message(method, params) @client.send_message(message, async: async) end
def event_name(event)
def event_name(event) self.class.event_name(event, session_id) end
def initialize(client, session_id)
def initialize(client, session_id) @client = client @session_id = session_id end
def method_missing(name, ...)
def method_missing(name, ...) @client.send(name, ...) end
def on(event, &block)
def on(event, &block) @client.on(event_name(event), &block) end
def respond_to_missing?(name, include_private)
def respond_to_missing?(name, include_private) @client.respond_to?(name, include_private) end
def subscribed?(event)
def subscribed?(event) @client.subscribed?(event_name(event)) end