class Reacto::Subscriptions::InnerSubscription

Attributes

last_error[RW]
last_value[RW]

Public Class Methods

new(parent) click to toggle source
Calls superclass method
# File lib/reacto/subscriptions/inner_subscription.rb, line 8
def initialize(parent)
  @parent = parent
  @closed = false
  @active = false
  @last_value = NO_VALUE
  @last_error = nil

  open = lambda do
    @active = true
    @parent.on_open
  end

  value = lambda do |v|
    @last_value = v
    @parent.on_value(v)
  end

  error = lambda do |e|
    @last_error = e
    @parent.on_error(e)
  end

  close = lambda do
    @closed = true
    @parent.on_close
  end

  super(open: open, value: value, error: error, close: close)
end

Public Instance Methods

active?() click to toggle source
# File lib/reacto/subscriptions/inner_subscription.rb, line 43
def active?
  @active
end
closed?() click to toggle source
# File lib/reacto/subscriptions/inner_subscription.rb, line 47
def closed?
  @closed
end
unsubscribe() click to toggle source
# File lib/reacto/subscriptions/inner_subscription.rb, line 38
def unsubscribe
  @closed = true
  super
end