Class: MotionWiretap::WiretapReducer
- Defined in:
- lib/motion-wiretap/all/wiretap.rb
Instance Method Summary collapse
-
#initialize(parent, memo, reducer) ⇒ WiretapReducer
constructor
A new instance of WiretapReducer.
- #teardown ⇒ Object
-
#trigger_changed(*values) ⇒ Object
passes each value through the @reducer, passing in the return value of the previous call (starting with @memo).
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
#teardown ⇒ Object
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 |