Class: MotionWiretap::WiretapReducer

Inherits:
WiretapChild show all
Defined in:
lib/motion-wiretap/all/wiretap.rb

Instance Attribute Summary

Attributes inherited from Wiretap

#value

Instance Method Summary collapse

Methods inherited from WiretapChild

#teardown

Methods inherited from Wiretap

#and_then, #cancel!, #combine, #dealloc, #enqueue, #filter, #listen, #map, #on_error, #queue, #reduce, #teardown, #trigger_changed_on, #trigger_completed, #trigger_completed_on, #trigger_error, #trigger_error_on

Constructor Details

#initialize(parent, memo, reducer) ⇒ WiretapReducer

Returns a new instance of WiretapReducer.



384
385
386
387
388
# File 'lib/motion-wiretap/all/wiretap.rb', line 384

def initialize(parent, memo, reducer)
  @reducer = reducer
  @memo = memo
  super(parent)
end

Instance Method Details

#trigger_changed(*values) ⇒ Object

passes each value through the @reducer, passing in the return value of the previous call (starting with @memo)



392
393
394
# File 'lib/motion-wiretap/all/wiretap.rb', line 392

def trigger_changed(*values)
  super(values.inject(@memo, &@reducer))
end