Exception: Rospatent::Errors::ApiError
- Defined in:
- lib/rospatent/errors.rb
Overview
Raised when the API returns an error response
Direct Known Subclasses
Instance Attribute Summary collapse
-
#request_id ⇒ Object
readonly
Returns the value of attribute request_id.
-
#response_body ⇒ Object
readonly
Returns the value of attribute response_body.
-
#status_code ⇒ Object
readonly
Returns the value of attribute status_code.
Instance Method Summary collapse
-
#initialize(message, status_code = nil, response_body = nil, request_id = nil) ⇒ ApiError
constructor
Initialize a new API error.
-
#retryable? ⇒ Boolean
Check if error is retryable based on status code.
-
#to_s ⇒ String
Provide more descriptive error message.
Constructor Details
#initialize(message, status_code = nil, response_body = nil, request_id = nil) ⇒ ApiError
Initialize a new API error
24 25 26 27 28 29 |
# File 'lib/rospatent/errors.rb', line 24 def initialize(, status_code = nil, response_body = nil, request_id = nil) @status_code = status_code @response_body = response_body @request_id = request_id super() end |
Instance Attribute Details
#request_id ⇒ Object (readonly)
Returns the value of attribute request_id.
17 18 19 |
# File 'lib/rospatent/errors.rb', line 17 def request_id @request_id end |
#response_body ⇒ Object (readonly)
Returns the value of attribute response_body.
17 18 19 |
# File 'lib/rospatent/errors.rb', line 17 def response_body @response_body end |
#status_code ⇒ Object (readonly)
Returns the value of attribute status_code.
17 18 19 |
# File 'lib/rospatent/errors.rb', line 17 def status_code @status_code end |
Instance Method Details
#retryable? ⇒ Boolean
Check if error is retryable based on status code
41 42 43 44 45 46 |
# File 'lib/rospatent/errors.rb', line 41 def retryable? return false unless @status_code # Retryable status codes: 408, 429, 500, 502, 503, 504 [408, 429, 500, 502, 503, 504].include?(@status_code) end |
#to_s ⇒ String
Provide more descriptive error message
33 34 35 36 37 |
# File 'lib/rospatent/errors.rb', line 33 def to_s msg = "API Error (#{@status_code || 'unknown'}): #{super}" msg += " [Request ID: #{@request_id}]" if @request_id msg end |