Class: Retriable::Config
- Inherits:
-
Object
- Object
- Retriable::Config
- Defined in:
- lib/retriable/config.rb
Constant Summary collapse
- ATTRIBUTES =
ExponentialBackoff::ATTRIBUTES + [ :sleep_disabled, :max_elapsed_time, :intervals, :timeout, :on, :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.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/retriable/config.rb', line 17 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] @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
39 40 41 42 43 |
# File 'lib/retriable/config.rb', line 39 def to_h ATTRIBUTES.each_with_object({}) do |key, hash| hash[key] = public_send(key) end end |