class Retry::Engine

Support for repeatedly calling retriable operations

Attributes

delay[RW]
exceptions[RW]
handlers[RW]
tries[RW]

Public Class Methods

new(delay: nil, exceptions: nil, handlers: nil, tries: nil) click to toggle source

Initialises a new Engine instance @param delay [Float] the default delay before retrying @param exceptions [Hash<Exception, Boolean>] the default retriable

exceptions

@param handlers [Hash<Exception|Symbol, Proc>] the default exception

handlers

@param tries [Integer, Proc] the default maximum number of tries or

a proc which accepts an Exception and returns true if a retry is allowed
or false if not

@return [void]

# File lib/retry.rb, line 45
def initialize(delay: nil, exceptions: nil, handlers: nil, tries: nil)
  self.delay = delay.to_f
  self.exceptions = exceptions || {}
  self.handlers = handlers || {}
  self.tries = tries
end

Public Instance Methods

do(delay: nil, exceptions: nil, handlers: nil, tries: nil, &block) click to toggle source

Executes the class method do using instance default values

# File lib/retry.rb, line 53
def do(delay: nil, exceptions: nil, handlers: nil, tries: nil, &block)
  Retry.do(delay: delay || self.delay,
           exceptions: exceptions || self.exceptions,
           handlers: handlers || self.handlers,
           tries: tries || self.tries,
           &block)
end