Method: AsyncCable::Registry#find

Defined in:
lib/async_cable/registry.rb

#find(channel_name = nil, stream_name = nil) ⇒ Array<AsyncCable::Connection>, Array

Return all connections from all channels when ‘channel_name` omitted. Return all connections from channel when `stream_name` omitted. Return connections from channel stream when `channel_name` and `stream_name` provided.

Parameters:

  • channel_name (String, NilClass) (defaults to: nil)
  • stream_name (String, NilClass) (defaults to: nil)

Returns:



40
41
42
43
44
45
46
# File 'lib/async_cable/registry.rb', line 40

def find(channel_name = nil, stream_name = nil)
  @mutex.synchronize do
    return subscribers.values.map(&:values).flatten if channel_name.nil?
    return subscribers[channel_name].values.flatten if stream_name.nil?
    subscribers[channel_name][stream_name]
  end
end