Class: Reactive::Observable::Push::Observer

Inherits:
Reactive::ObserverWrapper show all
Defined in:
lib/Reactive/observable/push.rb

Instance Attribute Summary collapse

Attributes inherited from Reactive::ObserverWrapper

#parent, #target

Instance Method Summary collapse

Methods inherited from Reactive::ObserverWrapper

#active?, #attributes, #on_next, #unwrap_parent, #wrap_with_parent

Constructor Details

#initialize(observer, parent, ob) ⇒ Observer

Returns a new instance of Observer.



21
22
23
24
# File 'lib/Reactive/observable/push.rb', line 21

def initialize(observer, parent, ob)
  @next_observable = ob
  super(observer, parent)
end

Instance Attribute Details

#next_observableObject (readonly)

Returns the value of attribute next_observable.



19
20
21
# File 'lib/Reactive/observable/push.rb', line 19

def next_observable
  @next_observable
end

Instance Method Details

#on_completeObject



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/Reactive/observable/push.rb', line 26

def on_complete
  if @next_observable
    next_observable = @next_observable
    @next_observable = nil
    disposable = next_observable.subscribe_observer(self)
    wrap_with_parent(disposable) if @target
  else
    @target.on_complete
    unwrap
  end
end

#unwrapObject



38
39
40
41
# File 'lib/Reactive/observable/push.rb', line 38

def unwrap
  @next_observable = nil
  super
end