Exception: Smartbill::Sdk::APIError

Inherits:
Error
  • Object
show all
Defined in:
lib/smartbill/sdk/api_error.rb

Overview

Raised when the SmartBill API returns an error envelope or a non-2xx response.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(error_text: "", message: nil, status_code: nil) ⇒ APIError

Returns a new instance of APIError.



17
18
19
20
21
22
23
24
# File 'lib/smartbill/sdk/api_error.rb', line 17

def initialize(error_text: "", message: nil, status_code: nil)
  @error_text = error_text.to_s
  @message_field = message
  @status_code = status_code
  detail = @error_text.empty? ? (message || "SmartBill API error") : @error_text
  detail = "[#{status_code}] #{detail}" unless status_code.nil?
  super(detail)
end

Instance Attribute Details

#error_textString (readonly)

Returns the errorText field from the API response.

Returns:

  • (String)

    the errorText field from the API response.



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/smartbill/sdk/api_error.rb', line 14

class APIError < Error
  attr_reader :error_text, :message_field, :status_code

  def initialize(error_text: "", message: nil, status_code: nil)
    @error_text = error_text.to_s
    @message_field = message
    @status_code = status_code
    detail = @error_text.empty? ? (message || "SmartBill API error") : @error_text
    detail = "[#{status_code}] #{detail}" unless status_code.nil?
    super(detail)
  end
end

#message_fieldString? (readonly)

Returns the optional message field from the API.

Returns:

  • (String, nil)

    the optional message field from the API.



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/smartbill/sdk/api_error.rb', line 14

class APIError < Error
  attr_reader :error_text, :message_field, :status_code

  def initialize(error_text: "", message: nil, status_code: nil)
    @error_text = error_text.to_s
    @message_field = message
    @status_code = status_code
    detail = @error_text.empty? ? (message || "SmartBill API error") : @error_text
    detail = "[#{status_code}] #{detail}" unless status_code.nil?
    super(detail)
  end
end

#status_codeInteger? (readonly)

Returns the HTTP status code, if available.

Returns:

  • (Integer, nil)

    the HTTP status code, if available.



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/smartbill/sdk/api_error.rb', line 14

class APIError < Error
  attr_reader :error_text, :message_field, :status_code

  def initialize(error_text: "", message: nil, status_code: nil)
    @error_text = error_text.to_s
    @message_field = message
    @status_code = status_code
    detail = @error_text.empty? ? (message || "SmartBill API error") : @error_text
    detail = "[#{status_code}] #{detail}" unless status_code.nil?
    super(detail)
  end
end