Class: MotionWiretap::WiretapReducer

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

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.



367
368
369
370
371
372
# File 'lib/motion-wiretap/all/wiretap.rb', line 367

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)



376
377
378
# File 'lib/motion-wiretap/all/wiretap.rb', line 376

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