Class: ActionCable::RemoteConnections
| Relationships & Source Files | |
| Namespace Children | |
|
Classes:
| |
| Inherits: | Object |
| Defined in: | actioncable/lib/action_cable/remote_connections.rb |
Overview
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.
By default, server sends a "disconnect" message with "reconnect" flag set to
true. You can override it by specifying the reconnect option:
ActionCable.server.remote_connections.where(current_user: User.find(1)).disconnect(reconnect: false)
Class Method Summary
- .new(server) ⇒ RemoteConnections constructor
Instance Attribute Summary
- #server readonly
Instance Method Summary
Constructor Details
.new(server) ⇒ RemoteConnections
Instance Attribute Details
#server (readonly)
[ GitHub ]# File 'actioncable/lib/action_cable/remote_connections.rb', line 32
attr_reader :server
Instance Method Details
#where(identifier)
[ GitHub ]# File 'actioncable/lib/action_cable/remote_connections.rb', line 38
def where(identifier) RemoteConnection.new(server, identifier) end