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