Exception: HiEnergyAi::Error
- Inherits:
-
StandardError
- Object
- StandardError
- HiEnergyAi::Error
- Defined in:
- lib/hi_energy_ai/error.rb
Instance Attribute Summary collapse
-
#code ⇒ Object
readonly
Returns the value of attribute code.
-
#details ⇒ Object
readonly
Returns the value of attribute details.
-
#request_id ⇒ Object
readonly
Returns the value of attribute request_id.
-
#response_body ⇒ Object
readonly
Returns the value of attribute response_body.
-
#status ⇒ Object
readonly
Returns the value of attribute status.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(message = nil, status: nil, code: nil, request_id: nil, details: nil, response_body: nil) ⇒ Error
constructor
A new instance of Error.
Constructor Details
#initialize(message = nil, status: nil, code: nil, request_id: nil, details: nil, response_body: nil) ⇒ Error
Returns a new instance of Error.
7 8 9 10 11 12 13 14 |
# File 'lib/hi_energy_ai/error.rb', line 7 def initialize( = nil, status: nil, code: nil, request_id: nil, details: nil, response_body: nil) super() @status = status @code = code @request_id = request_id @details = details @response_body = response_body end |
Instance Attribute Details
#code ⇒ Object (readonly)
Returns the value of attribute code.
5 6 7 |
# File 'lib/hi_energy_ai/error.rb', line 5 def code @code end |
#details ⇒ Object (readonly)
Returns the value of attribute details.
5 6 7 |
# File 'lib/hi_energy_ai/error.rb', line 5 def details @details end |
#request_id ⇒ Object (readonly)
Returns the value of attribute request_id.
5 6 7 |
# File 'lib/hi_energy_ai/error.rb', line 5 def request_id @request_id end |
#response_body ⇒ Object (readonly)
Returns the value of attribute response_body.
5 6 7 |
# File 'lib/hi_energy_ai/error.rb', line 5 def response_body @response_body end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
5 6 7 |
# File 'lib/hi_energy_ai/error.rb', line 5 def status @status end |
Class Method Details
.from_response(status, body) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/hi_energy_ai/error.rb', line 16 def self.from_response(status, body) payload = parse_json(body) error = payload.is_a?(Hash) ? payload["error"] || payload[:error] : nil if error.is_a?(Hash) new( error["message"] || error[:message] || "API request failed", status: status, code: error["code"] || error[:code], request_id: error["request_id"] || error[:request_id], details: error["details"] || error[:details], response_body: body ) else new("API request failed with status #{status}", status: status, response_body: body) end end |