Class: FreightFinancialsWebhookIngestionApi::ProblemDetailsException
- Inherits:
-
APIException
- Object
- CoreLibrary::ApiException
- APIException
- FreightFinancialsWebhookIngestionApi::ProblemDetailsException
- Defined in:
- lib/freight_financials_webhook_ingestion_api/exceptions/problem_details_exception.rb
Overview
ProblemDetails class.
Instance Attribute Summary collapse
-
#detail ⇒ String
TODO: Write general description for this method.
-
#instance ⇒ String
TODO: Write general description for this method.
-
#status ⇒ Integer
TODO: Write general description for this method.
-
#title ⇒ String
TODO: Write general description for this method.
-
#type ⇒ String
TODO: Write general description for this method.
Instance Method Summary collapse
-
#initialize(reason, response) ⇒ ProblemDetailsException
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) ⇒ ProblemDetailsException
The constructor.
35 36 37 38 39 |
# File 'lib/freight_financials_webhook_ingestion_api/exceptions/problem_details_exception.rb', line 35 def initialize(reason, response) super(reason, response) hash = APIHelper.json_deserialize(@response.raw_body) unbox(hash) end |
Instance Attribute Details
#detail ⇒ String
TODO: Write general description for this method
26 27 28 |
# File 'lib/freight_financials_webhook_ingestion_api/exceptions/problem_details_exception.rb', line 26 def detail @detail end |
#instance ⇒ String
TODO: Write general description for this method
30 31 32 |
# File 'lib/freight_financials_webhook_ingestion_api/exceptions/problem_details_exception.rb', line 30 def instance @instance end |
#status ⇒ Integer
TODO: Write general description for this method
22 23 24 |
# File 'lib/freight_financials_webhook_ingestion_api/exceptions/problem_details_exception.rb', line 22 def status @status end |
#title ⇒ String
TODO: Write general description for this method
18 19 20 |
# File 'lib/freight_financials_webhook_ingestion_api/exceptions/problem_details_exception.rb', line 18 def title @title end |
#type ⇒ String
TODO: Write general description for this method
14 15 16 |
# File 'lib/freight_financials_webhook_ingestion_api/exceptions/problem_details_exception.rb', line 14 def type @type end |
Instance Method Details
#inspect ⇒ Object
Provides a debugging-friendly string with detailed object information.
62 63 64 65 66 |
# File 'lib/freight_financials_webhook_ingestion_api/exceptions/problem_details_exception.rb', line 62 def inspect class_name = self.class.name.split('::').last "<#{class_name} type: #{@type.inspect}, title: #{@title.inspect}, status:"\ " #{@status.inspect}, detail: #{@detail.inspect}, instance: #{@instance.inspect}>" end |
#to_s ⇒ Object
Provides a human-readable string representation of the object.
55 56 57 58 59 |
# File 'lib/freight_financials_webhook_ingestion_api/exceptions/problem_details_exception.rb', line 55 def to_s class_name = self.class.name.split('::').last "<#{class_name} type: #{@type}, title: #{@title}, status: #{@status}, detail: #{@detail},"\ " instance: #{@instance}>" end |
#unbox(hash) ⇒ Object
Populates this object by extracting properties from a hash. response body.
44 45 46 47 48 49 50 51 52 |
# File 'lib/freight_financials_webhook_ingestion_api/exceptions/problem_details_exception.rb', line 44 def unbox(hash) return nil unless hash @type = hash.key?('type') ? hash['type'] : SKIP @title = hash.key?('title') ? hash['title'] : SKIP @status = hash.key?('status') ? hash['status'] : SKIP @detail = hash.key?('detail') ? hash['detail'] : SKIP @instance = hash.key?('instance') ? hash['instance'] : SKIP end |