class Loco::WsConnectionFinder
Public Class Methods
call(resources, &block)
click to toggle source
# 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
Private Class Methods
search_the_hub(resource, &block)
click to toggle source
# File lib/loco/ws_connection_finder.rb, line 23 def search_the_hub(resource, &block) WsConnectionStorage.current.members(resource.full_name).map do |serialized| WsConnectionStorage.current.members(serialized).each(&block) end end