class IO::Endpoint::CompositeEndpoint
def bind(wrapper = Wrapper.default, &block)
def bind(wrapper = Wrapper.default, &block) if block_given? @endpoints.each do |endpoint| endpoint.bind(&block) end else @endpoints.map(&:bind).flatten.compact end end
def connect(wrapper = Wrapper.default, &block)
def connect(wrapper = Wrapper.default, &block) last_error = nil @endpoints.each do |endpoint| begin return endpoint.connect(wrapper, &block) rescue => last_error end end raise last_error end
def each(&block)
def each(&block) @endpoints.each do |endpoint| endpoint.each(&block) end end
def initialize(endpoints, **options)
def initialize(endpoints, **options) super(**options) @endpoints = endpoints end