Class: MotionWiretap::Signal
- Defined in:
- lib/motion-wiretap/all/signal.rb
Overview
a Wiretap::Signal is much like a Promise in functional programming. A Signal is triggered with a new value, or it is completed, or canceled with an error event.
Instance Attribute Summary collapse
-
#value ⇒ Object
readonly
Returns the value of attribute value.
Instance Method Summary collapse
- #complete ⇒ Object
- #error(error) ⇒ Object
-
#initialize(value = nil) ⇒ Signal
constructor
A new instance of Signal.
- #next(value) ⇒ Object
Methods inherited from Wiretap
#and_then, #cancel!, #combine, #dealloc, #enqueue, #filter, #listen, #map, #on_error, #queue, #reduce, #teardown, #trigger_changed, #trigger_changed_on, #trigger_completed, #trigger_completed_on, #trigger_error, #trigger_error_on
Constructor Details
#initialize(value = nil) ⇒ Signal
Returns a new instance of Signal.
9 10 11 12 13 |
# File 'lib/motion-wiretap/all/signal.rb', line 9 def initialize(value=nil) super() @value = value trigger_changed(@value) end |
Instance Attribute Details
#value ⇒ Object (readonly)
Returns the value of attribute value.
7 8 9 |
# File 'lib/motion-wiretap/all/signal.rb', line 7 def value @value end |
Instance Method Details
#complete ⇒ Object
20 21 22 |
# File 'lib/motion-wiretap/all/signal.rb', line 20 def complete trigger_completed end |
#error(error) ⇒ Object
24 25 26 |
# File 'lib/motion-wiretap/all/signal.rb', line 24 def error(error) trigger_error(error) end |
#next(value) ⇒ Object
15 16 17 18 |
# File 'lib/motion-wiretap/all/signal.rb', line 15 def next(value) @value = value trigger_changed(@value) end |