class Reacto::Operations::Cycle
Public Class Methods
new(behaviour, n = nil)
click to toggle source
# File lib/reacto/operations/cycle.rb, line 6 def initialize(behaviour, n = nil) @behaviour = behaviour @n = n end
Public Instance Methods
call(tracker)
click to toggle source
# File lib/reacto/operations/cycle.rb, line 11 def call(tracker) close = -> do if @n.nil? || @n > 1 next_n = @n.nil? ? @n : @n - 1 @behaviour.call(self.class.new(@behaviour, next_n).call(tracker)) else tracker.on_close end end Subscriptions::OperationSubscription.new(tracker, close: close) end