Exception: RubyPi::ApiError

Inherits:
Error
  • Object
show all
Defined in:
lib/ruby_pi/errors.rb

Overview

Raised when an API request fails due to a server-side or client-side HTTP error (e.g., 400, 500). Includes the HTTP status code and the response body for debugging.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message = nil, status_code: nil, response_body: nil) ⇒ ApiError

Returns a new instance of ApiError.

Parameters:

  • message (String) (defaults to: nil)

    human-readable error description

  • status_code (Integer, nil) (defaults to: nil)

    HTTP status code

  • response_body (String, nil) (defaults to: nil)

    raw response body



35
36
37
38
39
# File 'lib/ruby_pi/errors.rb', line 35

def initialize(message = nil, status_code: nil, response_body: nil)
  @status_code = status_code
  @response_body = response_body
  super(message || "API request failed with status #{status_code}")
end

Instance Attribute Details

#response_bodyString? (readonly)

Returns the raw response body from the API.

Returns:

  • (String, nil)

    the raw response body from the API



30
31
32
# File 'lib/ruby_pi/errors.rb', line 30

def response_body
  @response_body
end

#status_codeInteger? (readonly)

Returns the HTTP status code returned by the API.

Returns:

  • (Integer, nil)

    the HTTP status code returned by the API



27
28
29
# File 'lib/ruby_pi/errors.rb', line 27

def status_code
  @status_code
end