Class: VAProfile::ContactInformation::TransactionResponse
- Inherits:
-
Response
- Object
- Common::Base
- Response
- VAProfile::ContactInformation::TransactionResponse
- Extended by:
- SentryLogging
- Defined in:
- lib/va_profile/contact_information/transaction_response.rb
Direct Known Subclasses
AddressTransactionResponse, EmailTransactionResponse, PermissionTransactionResponse, PersonTransactionResponse, TelephoneTransactionResponse
Constant Summary collapse
- ERROR_STATUS =
'COMPLETED_FAILURE'
Constants included from Common::Client::Concerns::ServiceStatus
Common::Client::Concerns::ServiceStatus::RESPONSE_STATUS
Instance Attribute Summary collapse
-
#response_body ⇒ Object
readonly
Returns the value of attribute response_body.
Attributes inherited from Common::Base
Class Method Summary collapse
Methods included from SentryLogging
log_exception_to_sentry, log_message_to_sentry, non_nil_hash?, normalize_level, rails_logger, set_sentry_metadata
Methods inherited from Response
#cache?, #initialize, #metadata, #ok?, #response_status
Methods inherited from Common::Base
#changed, #changed?, #changes, default_sort, filterable_attributes, #initialize, max_per_page, per_page, sortable_attributes
Constructor Details
This class inherits a constructor from VAProfile::Response
Instance Attribute Details
#response_body ⇒ Object (readonly)
Returns the value of attribute response_body.
14 15 16 |
# File 'lib/va_profile/contact_information/transaction_response.rb', line 14 def response_body @response_body end |
Class Method Details
.error? ⇒ Boolean
34 35 36 |
# File 'lib/va_profile/contact_information/transaction_response.rb', line 34 def self.error? @response_body.try(:[], 'tx_status') == ERROR_STATUS end |
.from(raw_response = nil) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/va_profile/contact_information/transaction_response.rb', line 16 def self.from(raw_response = nil) @response_body = raw_response&.body if error? ( 'VAProfile transaction error', :error, { response_body: @response_body }, error: :va_profile ) end new( raw_response&.status, transaction: VAProfile::Models::Transaction.build_from(@response_body) ) end |