Class: ActionCable::RemoteConnections

Inherits:
Object
  • Object
show all
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:

Если вам нужно отключить данное соединение, то можете использовать RemoteConnections. Вы можете найти нужные соединения, которые вы ищете путем поиска идентификатора, объявленного в соединении. Например:

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

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

Это отключит все соединения, установленные для User.find(1), на всех серверах, работающих на всех машинах, потому что использует внутренний канал, на который подписаны все эти серверы.

Defined Under Namespace

Classes: RemoteConnection

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(server) ⇒ RemoteConnections

Returns a new instance of RemoteConnections.


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

def initialize(server)
  @server = server
end

Instance Attribute Details

#serverObject (readonly)

Returns the value of attribute server


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

def server
  @server
end

Instance Method Details

#where(identifier) ⇒ Object


28
29
30
# File 'actioncable/lib/action_cable/remote_connections.rb', line 28

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