Sha256: b6cf82ecd53d1ae5ad680b1d2766a12a9457d8f9b6ecc2edd472f645c8564cf4

Contents?: true

Size: 885 Bytes

Versions: 1

Compression:

Stored size: 885 Bytes

Contents

require 'retriable'

module Luffa
  # A class to bridge the gap between retriable 1.x and 2.0.
  class RetryOpts
    def self.tries_and_interval(tries, interval, other_retry_options={})
      retriable_version = Luffa::Version.new(Retriable::VERSION)

      if other_retry_options[:tries]
        raise RuntimeError, ':tries is not a valid key for other_retry_options'
      elsif other_retry_options[:interval]
        raise RuntimeError, ':interval is not a valid key for other_retry_options'
      elsif other_retry_options[:intervals]
        raise RuntimeError, ':intervals is not a valid key for other_retry_options'
      end

      if retriable_version >= Luffa::Version.new('2.0.0')
        other_retry_options.merge({:intervals => Array.new(tries, interval)})
      else
        other_retry_options.merge({:tries => tries, :interval => interval})
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
luffa-1.0.3 lib/luffa/patches/retriable.rb