class ActionCable::RemoteConnections::RemoteConnection
Represents a single remote connection found via ActionCable.server.remote_connections.where(*)
. Exists solely for the purpose of calling disconnect
on that connection.
Attributes
server[R]
Public Class Methods
new(server, ids)
click to toggle source
# File lib/action_cable/remote_connections.rb, line 41 def initialize(server, ids) @server = server set_identifier_instance_vars(ids) end
Public Instance Methods
disconnect()
click to toggle source
Uses the internal channel to disconnect the connection.
# File lib/action_cable/remote_connections.rb, line 47 def disconnect server.broadcast internal_channel, type: "disconnect" end
Private Instance Methods
set_identifier_instance_vars(ids)
click to toggle source
# File lib/action_cable/remote_connections.rb, line 60 def set_identifier_instance_vars(ids) raise InvalidIdentifiersError unless valid_identifiers?(ids) ids.each { |k, v| instance_variable_set("@#{k}", v) } end
valid_identifiers?(ids)
click to toggle source
# File lib/action_cable/remote_connections.rb, line 65 def valid_identifiers?(ids) keys = ids.keys identifiers.all? { |id| keys.include?(id) } end