Exception: EasyLabs::Error

Inherits:
StandardError
  • Object
show all
Defined in:
lib/easylabs/error.rb

Overview

Base class for every error this SDK raises in response to API calls. Mirrors ‘EasyApiError` in @easylabs/common.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message, status:, code: nil, details: nil, retry_after_seconds: nil, raw: nil) ⇒ Error

Returns a new instance of Error.



18
19
20
21
22
23
24
25
# File 'lib/easylabs/error.rb', line 18

def initialize(message, status:, code: nil, details: nil, retry_after_seconds: nil, raw: nil)
  super(message)
  @status = status
  @code = code
  @details = details
  @retry_after_seconds = retry_after_seconds
  @raw = raw
end

Instance Attribute Details

#codeString? (readonly)

machine-readable code from the API’s structured error envelope, when present.

Returns:

  • (String, nil)

    the current value of code



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

def code
  @code
end

#detailsObject? (readonly)

details payload from the envelope.

Returns:

  • (Object, nil)

    the current value of details



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

def details
  @details
end

#rawObject? (readonly)

full parsed JSON body, for callers who need fields the SDK doesn’t surface explicitly.

Returns:

  • (Object, nil)

    the current value of raw



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

def raw
  @raw
end

#retry_after_secondsInteger? (readonly)

parsed from the ‘Retry-After` response header for rate-limit errors.

Returns:

  • (Integer, nil)

    the current value of retry_after_seconds



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

def retry_after_seconds
  @retry_after_seconds
end

#statusInteger (readonly)

HTTP status code from the response.

Returns:

  • (Integer)

    the current value of status



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

def status
  @status
end