class EventStore::HTTP::Retry::Substitute::Retry

Attributes

error[RW]
telemetry_sink[RW]

Public Class Methods

build() click to toggle source
# File lib/event_store/http/retry/substitute.rb, line 13
def self.build
  instance = new

  ::Telemetry.configure instance
  instance.telemetry_sink = Retry.register_telemetry_sink instance

  instance.retry_duration = 0
  instance.retry_limit = 1
  instance
end

Public Instance Methods

call(&block) click to toggle source
Calls superclass method EventStore::HTTP::Retry#call
# File lib/event_store/http/retry/substitute.rb, line 24
def call(&block)
  super do |_, retries|
    return_value = block.(self, retries)

    if error = self.error
      self.error = nil
      raise error
    end

    return_value
  end
end
set_error(error) click to toggle source
# File lib/event_store/http/retry/substitute.rb, line 37
def set_error(error)
  self.error = error
end