Class: PaypalServerSdk::ErrorException

Inherits:
APIException
  • Object
show all
Defined in:
lib/paypal_server_sdk/exceptions/error_exception.rb

Overview

The error details.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(reason, response) ⇒ ErrorException

The constructor.

Parameters:

  • The (String)

    reason for raising an exception.

  • The (HttpResponse)

    HttpReponse of the API call.



36
37
38
39
40
# File 'lib/paypal_server_sdk/exceptions/error_exception.rb', line 36

def initialize(reason, response)
  super(reason, response)
  hash = APIHelper.json_deserialize(@response.raw_body)
  unbox(hash)
end

Instance Attribute Details

#debug_idString

The PayPal internal ID. Used for correlation purposes.

Returns:

  • (String)


22
23
24
# File 'lib/paypal_server_sdk/exceptions/error_exception.rb', line 22

def debug_id
  @debug_id
end

#detailsArray[ErrorDetails]

An array of additional details about the error.

Returns:



26
27
28
# File 'lib/paypal_server_sdk/exceptions/error_exception.rb', line 26

def details
  @details
end

An array of request-related [HATEOAS links](/api/rest/responses/#hateoas-links).

Returns:



31
32
33
# File 'lib/paypal_server_sdk/exceptions/error_exception.rb', line 31

def links
  @links
end

#messageString

The message that describes the error.

Returns:

  • (String)


18
19
20
# File 'lib/paypal_server_sdk/exceptions/error_exception.rb', line 18

def message
  @message
end

#nameString

The human-readable, unique name of the error.

Returns:

  • (String)


14
15
16
# File 'lib/paypal_server_sdk/exceptions/error_exception.rb', line 14

def name
  @name
end

Instance Method Details

#unbox(hash) ⇒ Object

Populates this object by extracting properties from a hash. response body.

Parameters:

  • The (Hash)

    deserialized response sent by the server in the



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/paypal_server_sdk/exceptions/error_exception.rb', line 45

def unbox(hash)
  @name = hash.key?('name') ? hash['name'] : nil
  @message = hash.key?('message') ? hash['message'] : nil
  @debug_id = hash.key?('debug_id') ? hash['debug_id'] : nil
  # Parameter is an array, so we need to iterate through it
  @details = nil
  unless hash['details'].nil?
    @details = []
    hash['details'].each do |structure|
      @details << (ErrorDetails.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