Exception: Yookassa::ApiError
- Defined in:
- lib/yookassa/errors.rb
Overview
Error returned by the YooKassa API with structured details.
Direct Known Subclasses
BadRequestError, ForbiddenError, InternalServerError, NotFoundError, TooManyRequestsError, UnauthorizedError
Instance Attribute Summary collapse
-
#code ⇒ String?
readonly
YooKassa error code (e.g. "invalid_request", "not_found").
-
#description ⇒ String?
readonly
Human-readable error description.
-
#parameter ⇒ String?
readonly
Name of the invalid parameter, if applicable.
-
#response ⇒ Hash
readonly
Raw response details (:http_code, :body, :headers).
Instance Method Summary collapse
-
#http_code ⇒ Integer?
HTTP status code.
-
#initialize(code: nil, description: nil, parameter: nil, response: {}) ⇒ ApiError
constructor
A new instance of ApiError.
-
#response_body ⇒ String?
Raw response body.
-
#response_headers ⇒ Hash?
Response headers.
Constructor Details
#initialize(code: nil, description: nil, parameter: nil, response: {}) ⇒ ApiError
Returns a new instance of ApiError.
34 35 36 37 38 39 40 |
# File 'lib/yookassa/errors.rb', line 34 def initialize(code: nil, description: nil, parameter: nil, response: {}) @code = code @description = description @parameter = parameter @response = response super(description || "API error (HTTP #{http_code})") end |
Instance Attribute Details
#code ⇒ String? (readonly)
Returns YooKassa error code (e.g. "invalid_request", "not_found").
19 20 21 |
# File 'lib/yookassa/errors.rb', line 19 def code @code end |
#description ⇒ String? (readonly)
Returns human-readable error description.
22 23 24 |
# File 'lib/yookassa/errors.rb', line 22 def description @description end |
#parameter ⇒ String? (readonly)
Returns name of the invalid parameter, if applicable.
25 26 27 |
# File 'lib/yookassa/errors.rb', line 25 def parameter @parameter end |
#response ⇒ Hash (readonly)
Returns raw response details (:http_code, :body, :headers).
28 29 30 |
# File 'lib/yookassa/errors.rb', line 28 def response @response end |
Instance Method Details
#http_code ⇒ Integer?
Returns HTTP status code.
43 44 45 |
# File 'lib/yookassa/errors.rb', line 43 def http_code @response[:http_code] end |
#response_body ⇒ String?
Returns raw response body.
48 49 50 |
# File 'lib/yookassa/errors.rb', line 48 def response_body @response[:body] end |
#response_headers ⇒ Hash?
Returns response headers.
53 54 55 |
# File 'lib/yookassa/errors.rb', line 53 def response_headers @response[:headers] end |