Class: PaypalServerSdk::DefaultErrorException
- Inherits:
-
APIException
- Object
- CoreLibrary::ApiException
- APIException
- PaypalServerSdk::DefaultErrorException
- Defined in:
- lib/paypal_server_sdk/exceptions/default_error_exception.rb
Overview
The error details.
Instance Attribute Summary collapse
-
#debug_id ⇒ String
The PayPal internal ID.
-
#details ⇒ Array[TransactionSearchErrorDetails]
An array of additional details about the error.
-
#information_link ⇒ String
The information link, or URI, that shows detailed information about this error for the developer.
-
#links ⇒ Array[LinkDescription]
An array of request-related [HATEOAS links](/docs/api/reference/api-responses/#hateoas-links).
-
#message ⇒ String
The message that describes the error.
-
#name ⇒ String
The human-readable, unique name of the error.
Instance Method Summary collapse
-
#initialize(reason, response) ⇒ DefaultErrorException
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) ⇒ DefaultErrorException
The constructor.
41 42 43 44 45 |
# File 'lib/paypal_server_sdk/exceptions/default_error_exception.rb', line 41 def initialize(reason, response) super(reason, response) hash = APIHelper.json_deserialize(@response.raw_body) unbox(hash) end |
Instance Attribute Details
#debug_id ⇒ String
The PayPal internal ID. Used for correlation purposes.
22 23 24 |
# File 'lib/paypal_server_sdk/exceptions/default_error_exception.rb', line 22 def debug_id @debug_id end |
#details ⇒ Array[TransactionSearchErrorDetails]
An array of additional details about the error.
31 32 33 |
# File 'lib/paypal_server_sdk/exceptions/default_error_exception.rb', line 31 def details @details end |
#information_link ⇒ String
The information link, or URI, that shows detailed information about this error for the developer.
27 28 29 |
# File 'lib/paypal_server_sdk/exceptions/default_error_exception.rb', line 27 def information_link @information_link end |
#links ⇒ Array[LinkDescription]
An array of request-related [HATEOAS links](/docs/api/reference/api-responses/#hateoas-links).
36 37 38 |
# File 'lib/paypal_server_sdk/exceptions/default_error_exception.rb', line 36 def links @links end |
#message ⇒ String
The message that describes the error.
18 19 20 |
# File 'lib/paypal_server_sdk/exceptions/default_error_exception.rb', line 18 def end |
#name ⇒ String
The human-readable, unique name of the error.
14 15 16 |
# File 'lib/paypal_server_sdk/exceptions/default_error_exception.rb', line 14 def name @name end |
Instance Method Details
#inspect ⇒ Object
Provides a debugging-friendly string with detailed object information.
88 89 90 91 92 93 |
# File 'lib/paypal_server_sdk/exceptions/default_error_exception.rb', line 88 def inspect class_name = self.class.name.split('::').last "<#{class_name} name: #{@name.inspect}, message: #{@message.inspect}, debug_id:"\ " #{@debug_id.inspect}, information_link: #{@information_link.inspect}, details:"\ " #{@details.inspect}, links: #{@links.inspect}>" end |
#to_s ⇒ Object
Provides a human-readable string representation of the object.
81 82 83 84 85 |
# File 'lib/paypal_server_sdk/exceptions/default_error_exception.rb', line 81 def to_s class_name = self.class.name.split('::').last "<#{class_name} name: #{@name}, message: #{@message}, debug_id: #{@debug_id},"\ " information_link: #{@information_link}, details: #{@details}, links: #{@links}>" end |
#unbox(hash) ⇒ Object
Populates this object by extracting properties from a hash. response body.
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/paypal_server_sdk/exceptions/default_error_exception.rb', line 50 def unbox(hash) return nil unless hash @name = hash.key?('name') ? hash['name'] : nil = hash.key?('message') ? hash['message'] : nil @debug_id = hash.key?('debug_id') ? hash['debug_id'] : nil @information_link = hash.key?('information_link') ? hash['information_link'] : SKIP # Parameter is an array, so we need to iterate through it @details = nil unless hash['details'].nil? @details = [] hash['details'].each do |structure| @details << (TransactionSearchErrorDetails.from_hash(structure) if structure) end end @details = SKIP unless hash.key?('details') # Parameter is an array, so we need to iterate through it @links = nil unless hash['links'].nil? @links = [] hash['links'].each do |structure| @links << (LinkDescription.from_hash(structure) if structure) end end @links = SKIP unless hash.key?('links') end |