class ActionCable::RemoteConnections

Parent:
Object

If you need to disconnect a given connection, you can go through the RemoteConnections. You can find the connections you're looking for by searching for the identifier declared on the connection. For example:

module ApplicationCable
  class Connection < ActionCable::Connection::Base
    identified_by :current_user
    ....
  end
end

ActionCable.server.remote_connections.where(current_user: User.find(1)).disconnect

This will disconnect all the connections established for User.find(1), across all servers running on all machines, because it uses the internal channel that all of these servers are subscribed to.

Attributes

server[R]

Public Class Methods

new(server) Show source
# File actioncable/lib/action_cable/remote_connections.rb, line 25
def initialize(server)
  @server = server
end

Public Instance Methods

where(identifier) Show source
# File actioncable/lib/action_cable/remote_connections.rb, line 29
def where(identifier)
  RemoteConnection.new(server, identifier)
end

© 2004–2019 David Heinemeier Hansson
Licensed under the MIT License.