Exception: SuggestGrid::DetailedErrorResponseException

Inherits:
APIException
  • Object
show all
Defined in:
lib/suggest_grid/exceptions/detailed_error_response_exception.rb

Instance Attribute Summary collapse

Attributes inherited from APIException

#context, #response_code

Instance Method Summary collapse

Constructor Details

#initialize(reason, context) ⇒ DetailedErrorResponseException

The constructor.

Parameters:

  • The (String)

    reason for raising an exception

  • The (HttpContext)

    HttpContext of the API call.



24
25
26
27
28
29
30
31
# File 'lib/suggest_grid/exceptions/detailed_error_response_exception.rb', line 24

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

Instance Attribute Details

#error_descriptionString

Description of the response.

Returns:



11
12
13
# File 'lib/suggest_grid/exceptions/detailed_error_response_exception.rb', line 11

def error_description
  @error_description
end

#error_detailsString

Details of the response.

Returns:



19
20
21
# File 'lib/suggest_grid/exceptions/detailed_error_response_exception.rb', line 19

def error_details
  @error_details
end

#error_textString

Message of the response.

Returns:



7
8
9
# File 'lib/suggest_grid/exceptions/detailed_error_response_exception.rb', line 7

def error_text
  @error_text
end

#error_uriString

The URI of the error for more details.

Returns:



15
16
17
# File 'lib/suggest_grid/exceptions/detailed_error_response_exception.rb', line 15

def error_uri
  @error_uri
end

Instance Method Details

#unbox(hash) ⇒ Object

Populates this object by extracting properties from a hash.

Parameters:

  • The (Hash)

    deserialized response sent by the server in the response body.



35
36
37
38
39
40
# File 'lib/suggest_grid/exceptions/detailed_error_response_exception.rb', line 35

def unbox(hash)
  @error_text = hash["error_text"]
  @error_description = hash["error_description"]
  @error_uri = hash["error_uri"]
  @error_details = hash["error_details"]
end