class Reacto::Subscriptions::SimpleSubscription
Attributes
subscriptions[R]
Public Class Methods
new( open: NO_ACTION, value: NO_ACTION, error: DEFAULT_ON_ERROR, close: NO_ACTION )
click to toggle source
# File lib/reacto/subscriptions/simple_subscription.rb, line 11 def initialize( open: NO_ACTION, value: NO_ACTION, error: DEFAULT_ON_ERROR, close: NO_ACTION ) @open = open @value = value @error = error @close = close @subscribed = true @subscriptions = [] @resources = [] end
Public Instance Methods
add(subscription)
click to toggle source
# File lib/reacto/subscriptions/simple_subscription.rb, line 38 def add(subscription) return unless subscribed? @subscriptions << subscription end
add_resource(resource)
click to toggle source
# File lib/reacto/subscriptions/simple_subscription.rb, line 44 def add_resource(resource) return unless subscribed? @resources << resource end
on_close()
click to toggle source
# File lib/reacto/subscriptions/simple_subscription.rb, line 72 def on_close return unless subscribed? @close.call @subscriptions.each(&:on_close) unsubscribe end
on_error(e)
click to toggle source
# File lib/reacto/subscriptions/simple_subscription.rb, line 64 def on_error(e) return unless subscribed? @error.call(e) @subscriptions.each { |s| s.on_error(e) } unsubscribe end
on_open()
click to toggle source
# File lib/reacto/subscriptions/simple_subscription.rb, line 50 def on_open return unless subscribed? @open.call @subscriptions.each(&:on_open) end
on_value(v)
click to toggle source
# File lib/reacto/subscriptions/simple_subscription.rb, line 57 def on_value(v) return unless subscribed? @value.call(v) @subscriptions.each { |s| s.on_value(v) } end
subscribed?()
click to toggle source
# File lib/reacto/subscriptions/simple_subscription.rb, line 27 def subscribed? @subscribed end
unsubscribe()
click to toggle source
# File lib/reacto/subscriptions/simple_subscription.rb, line 31 def unsubscribe @subscriptions.each(&:unsubscribe) @subscribed = false @resources.each(&:cleanup) @resources = [] end