Class: MotionWiretap::Signal

Inherits:
Wiretap
  • Object
show all
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

Instance Method Summary collapse

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

#valueObject (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

#completeObject



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