Class: MotionWiretap::WiretapReducer

Inherits:
Wiretap
  • Object
show all
Defined in:
lib/motion-wiretap/all/wiretap.rb

Instance Method Summary collapse

Methods inherited from Wiretap

#and_then, #cancel!, #combine, #enqueue, #filter, #listen, #map, #on_error, #queue, #reduce, #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.



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

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

  @parent.listen(self)

  super()
end

Instance Method Details

#teardownObject



382
383
384
385
# File 'lib/motion-wiretap/all/wiretap.rb', line 382

def teardown
  @parent = nil
  super
end

#trigger_changed(*values) ⇒ Object

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



378
379
380
# File 'lib/motion-wiretap/all/wiretap.rb', line 378

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