Class: QML::Reactive::Signals::MergeSignal

Inherits:
ChainedSignal show all
Defined in:
lib/qml/reactive/signals/merge_signal.rb

Instance Attribute Summary

Attributes inherited from QML::Reactive::Signal

#arity

Instance Method Summary collapse

Methods inherited from QML::Reactive::Signal

#connect, #connection_count, #disconnect, #emit, #map, #merge, #parameters, #select, #spy, #to_proc

Constructor Details

#initialize(sources) ⇒ MergeSignal



7
8
9
10
11
# File 'lib/qml/reactive/signals/merge_signal.rb', line 7

def initialize(sources)
  param_count = sources.map(&:arity).max
  super(param_count.times.map { |i| :"arg#{i}" })
  @sources = sources
end

Instance Method Details

#connect_to_sourcesObject



13
14
15
16
17
# File 'lib/qml/reactive/signals/merge_signal.rb', line 13

def connect_to_sources
  @sources.each do |source|
    source.connect(&method(:emit))
  end
end