class Reacto::Operations::Retry
Public Class Methods
new(behaviour, retries = 1)
click to toggle source
# File lib/reacto/operations/retry.rb, line 6 def initialize(behaviour, retries = 1) @behaviour = behaviour @retries = retries end
Public Instance Methods
call(tracker)
click to toggle source
# File lib/reacto/operations/retry.rb, line 11 def call(tracker) error = ->(e) do @retries = @retries - 1 if @retries < 0 tracker.on_error(e) else @behaviour.call(self.call(tracker)) end end Subscriptions::OperationSubscription.new(tracker, error: error) end