class AnyCable::Rack::BroadcastSubscribers::BaseSubscriber
Attributes
coder[R]
hub[R]
Public Class Methods
new(hub:, coder:, **options)
click to toggle source
# File lib/anycable/rack/broadcast_subscribers/base_subscriber.rb, line 13 def initialize(hub:, coder:, **options) @hub = hub @coder = coder end
Public Instance Methods
start()
click to toggle source
# File lib/anycable/rack/broadcast_subscribers/base_subscriber.rb, line 18 def start # no-op end
stop()
click to toggle source
# File lib/anycable/rack/broadcast_subscribers/base_subscriber.rb, line 22 def stop # no-op end
Private Instance Methods
handle_message(msg)
click to toggle source
# File lib/anycable/rack/broadcast_subscribers/base_subscriber.rb, line 28 def handle_message(msg) log(:debug) { "Received pub/sub message: #{msg}" } data = JSON.parse(msg) if data["stream"] hub.broadcast(data["stream"], data["data"], coder) elsif data["command"] == "disconnect" hub.disconnect(data["payload"]["identifier"], data["payload"]["reconnect"], coder) end end