Class: AnyCable::Rails::Server::PubSub

Inherits:
Object
  • Object
show all
Defined in:
lib/anycable/rails/next/connection.rb

Overview

PubSub adapter to manage streams configuration for the underlying socket

Constant Summary collapse

ALL_STREAMS =
Data.define(:to_str).new("all")

Instance Method Summary collapse

Constructor Details

#initialize(socket) ⇒ PubSub

Returns a new instance of PubSub.



39
# File 'lib/anycable/rails/next/connection.rb', line 39

def initialize(socket) = @socket = socket

Instance Method Details

#subscribe(channel, _message_callback, success_callback = nil) ⇒ Object



41
42
43
44
# File 'lib/anycable/rails/next/connection.rb', line 41

def subscribe(channel, _message_callback, success_callback = nil)
  socket.subscribe identifier, channel
  success_callback&.call
end

#unsubscribe(channel, _message_callback) ⇒ Object



46
47
48
49
50
51
52
# File 'lib/anycable/rails/next/connection.rb', line 46

def unsubscribe(channel, _message_callback)
  if channel == ALL_STREAMS
    socket.unsubscribe_from_all identifier
  else
    socket.unsubscribe identifier, channel
  end
end