Class: Loco::WsConnectionFinder

Inherits:
Object
  • Object
show all
Defined in:
lib/loco/ws_connection_finder.rb

Class Method Summary collapse

Class Method Details

.call(resources, &block) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/loco/ws_connection_finder.rb', line 6

def call(resources, &block)
  storage = WsConnectionStorage.current
  resources = [resources] unless resources.is_a?(Array)
  resources.each do |resource|
    case resource
    when :all then storage.scan(all: true, &block)
    when Hub then search_the_hub(resource, &block)
    when Class
      storage.scan(match: "#{WsConnectionIdentifier.(resource)}:*", &block)
    else
      storage.members(WsConnectionIdentifier.(resource)).each(&block)
    end
  end
end