Class: ActionCable::RemoteConnections

Inherits:
Object
  • Object
show all
Defined in:
lib/action_cable/remote_connections.rb

Overview

If you need to disconnect a given connection, you go through the RemoteConnections. You find the connections you're looking for by searching the identifier declared on the connection. 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

That 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 these servers are subscribed to).

Defined Under Namespace

Classes: RemoteConnection

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(server) ⇒ RemoteConnections

Returns a new instance of RemoteConnections.


19
20
21
# File 'lib/action_cable/remote_connections.rb', line 19

def initialize(server)
  @server = server
end

Instance Attribute Details

#serverObject (readonly)

Returns the value of attribute server


17
18
19
# File 'lib/action_cable/remote_connections.rb', line 17

def server
  @server
end

Instance Method Details

#where(identifier) ⇒ Object


23
24
25
# File 'lib/action_cable/remote_connections.rb', line 23

def where(identifier)
  RemoteConnection.new(server, identifier)
end