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
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
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]
 Executes the class method do using instance default values