Class: UspsApi::PmodErrorException
- Inherits:
-
APIException
- Object
- CoreLibrary::ApiException
- APIException
- UspsApi::PmodErrorException
- Defined in:
- lib/usps_api/exceptions/pmod_error_exception.rb
Overview
Standard error message response.
Instance Attribute Summary collapse
-
#api_version ⇒ String
The version of the API that was used and that raised the error.
-
#error ⇒ PmodErrorMessageError
The high-level error that has occurred as indicated by the status code.
Instance Method Summary collapse
-
#initialize(reason, response) ⇒ PmodErrorException
constructor
The constructor.
-
#inspect ⇒ Object
Provides a debugging-friendly string with detailed object information.
-
#to_s ⇒ Object
Provides a human-readable string representation of the object.
-
#unbox(hash) ⇒ Object
Populates this object by extracting properties from a hash.
Constructor Details
#initialize(reason, response) ⇒ PmodErrorException
The constructor.
23 24 25 26 27 |
# File 'lib/usps_api/exceptions/pmod_error_exception.rb', line 23 def initialize(reason, response) super(reason, response) hash = APIHelper.json_deserialize(@response.raw_body) unbox(hash) end |
Instance Attribute Details
#api_version ⇒ String
The version of the API that was used and that raised the error.
14 15 16 |
# File 'lib/usps_api/exceptions/pmod_error_exception.rb', line 14 def api_version @api_version end |
#error ⇒ PmodErrorMessageError
The high-level error that has occurred as indicated by the status code.
18 19 20 |
# File 'lib/usps_api/exceptions/pmod_error_exception.rb', line 18 def error @error end |
Instance Method Details
#inspect ⇒ Object
Provides a debugging-friendly string with detailed object information.
46 47 48 49 |
# File 'lib/usps_api/exceptions/pmod_error_exception.rb', line 46 def inspect class_name = self.class.name.split('::').last "<#{class_name} api_version: #{@api_version.inspect}, error: #{@error.inspect}>" end |
#to_s ⇒ Object
Provides a human-readable string representation of the object.
40 41 42 43 |
# File 'lib/usps_api/exceptions/pmod_error_exception.rb', line 40 def to_s class_name = self.class.name.split('::').last "<#{class_name} api_version: #{@api_version}, error: #{@error}>" end |
#unbox(hash) ⇒ Object
Populates this object by extracting properties from a hash. response body.
32 33 34 35 36 37 |
# File 'lib/usps_api/exceptions/pmod_error_exception.rb', line 32 def unbox(hash) return nil unless hash @api_version = hash.key?('apiVersion') ? hash['apiVersion'] : SKIP @error = PmodErrorMessageError.from_hash(hash['error']) if hash['error'] end |