Exception: Peddler::Error

Inherits:
StandardError
  • Object
show all
Defined in:
lib/peddler/error.rb,
lib/peddler/error/builder.rb,
sig/peddler/error.rbs,
sig/peddler/error/builder.rbs

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(msg = nil, response = nil) ⇒ Error

Returns a new instance of Error.

Parameters:

  • msg (String, Integer, nil) (defaults to: nil)
  • response (HTTP::Response, nil) (defaults to: nil)


19
20
21
22
# File 'lib/peddler/error.rb', line 19

def initialize(msg = nil, response = nil)
  @response = response
  super(msg)
end

Instance Attribute Details

#responseHTTP::Response? (readonly)

Returns:

  • (HTTP::Response, nil)


6
7
8
# File 'lib/peddler/error.rb', line 6

def response
  @response
end

Instance Method Details

#deconstruct_keys(keys) ⇒ Hash

Supports pattern matching on status

Examples:

case error
in status: 429 then backoff
in status: 500..599 then retry
end

Parameters:

  • keys (Array<Symbol>, nil)

Returns:

  • (Hash)


39
40
41
42
# File 'lib/peddler/error.rb', line 39

def deconstruct_keys(keys)
  hash = { status: status }
  keys ? hash.slice(*keys) : hash
end

#statusInteger?

Returns:

  • (Integer, nil)


25
26
27
# File 'lib/peddler/error.rb', line 25

def status
  response&.status&.code
end