Top Level Namespace

Defined Under Namespace

Modules: Linecook Classes: Image

Instance Method Summary collapse

Instance Method Details

#with_retries(retries, sleep_duration: 5, &block) ⇒ Object



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/linecook-gem/util/common.rb', line 1

def with_retries(retries, sleep_duration: 5, &block)
  attempts = 0
  while attempts < retries
    begin
      return yield
    rescue => e
      puts "Retrying a failed action, error was:"
      puts e.message
      sleep sleep_duration
    ensure
      attempts += 1
    end
  end

  fail "Retries exceed (#{retries})"
end