module Reliable

Constants

VERSION

Public Instance Methods

retries(method, up_to:, on:, delay: Tryer.delay, before_retry: Tryer.before_retry, after_call: Tryer.after_call) click to toggle source
# File lib/reliable.rb, line 2
def retries(method, up_to:, on:, delay: Tryer.delay, before_retry: Tryer.before_retry, after_call: Tryer.after_call)
  original_method = :"#{method}_without_reliable"
  alias_method original_method, method

  tryer = Tryer.new(up_to: up_to, on: on, delay: delay, before_retry: before_retry, after_call: after_call)
  define_method method do |*args|
    tryer.reliably do
      __send__ original_method, *args
    end
  end
end