Class: Retriable::Config
- Inherits:
-
Object
- Object
- Retriable::Config
- Defined in:
- lib/retriable/config.rb
Constant Summary collapse
- ATTRIBUTES =
(ExponentialBackoff::ATTRIBUTES + %i[ sleep_disabled max_elapsed_time intervals timeout on retry_if on_retry contexts ]).freeze
Instance Method Summary collapse
-
#initialize(opts = {}) ⇒ Config
constructor
A new instance of Config.
- #to_h ⇒ Object
Constructor Details
#initialize(opts = {}) ⇒ Config
Returns a new instance of Config.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/retriable/config.rb', line 20 def initialize(opts = {}) backoff = ExponentialBackoff.new @tries = backoff.tries @base_interval = backoff.base_interval @max_interval = backoff.max_interval @rand_factor = backoff.rand_factor @multiplier = backoff.multiplier @sleep_disabled = false @max_elapsed_time = 900 # 15 min @intervals = nil @timeout = nil @on = [StandardError] @retry_if = nil @on_retry = nil @contexts = {} opts.each do |k, v| raise ArgumentError, "#{k} is not a valid option" if !ATTRIBUTES.include?(k) instance_variable_set(:"@#{k}", v) end end |
Instance Method Details
#to_h ⇒ Object
44 45 46 47 48 |
# File 'lib/retriable/config.rb', line 44 def to_h ATTRIBUTES.each_with_object({}) do |key, hash| hash[key] = public_send(key) end end |