Class: ShopifyAPIRetry::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/shopify_api_retry.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfig

Returns a new instance of Config.



15
16
17
# File 'lib/shopify_api_retry.rb', line 15

def initialize
  @settings = {}
end

Instance Attribute Details

#default_triesObject



23
24
25
# File 'lib/shopify_api_retry.rb', line 23

def default_tries
  @default_tries ||= 2
end

#default_waitObject



19
20
21
# File 'lib/shopify_api_retry.rb', line 19

def default_wait
  @default_wait ||= nil
end

Instance Method Details

#clearObject



37
38
39
40
41
# File 'lib/shopify_api_retry.rb', line 37

def clear
  @settings.clear
  @default_wait = nil
  @default_tries = nil
end

#on(errors, options = nil) ⇒ Object



27
28
29
30
31
32
33
34
35
# File 'lib/shopify_api_retry.rb', line 27

def on(errors, options = nil)
  options = (options || {}).dup
  options[:wait] ||= default_wait
  options[:tries] ||= default_tries

  Array(errors).each do |status_or_class|
    @settings[status_or_class] = options
  end
end

#to_hObject



43
44
45
46
# File 'lib/shopify_api_retry.rb', line 43

def to_h
  settings = { HTTP_RETRY_STATUS => { :tries => default_tries, :wait => default_wait } }
  @settings.each_with_object(settings) { |(k, v), o| o[k.to_s] = v.dup }
end