Class: EwayRapid::Message::Convert::InternalTransactionToStatus
- Inherits:
-
Object
- Object
- EwayRapid::Message::Convert::InternalTransactionToStatus
- Defined in:
- lib/eway_rapid/message/convert/internal_transaction_to_status.rb
Instance Method Summary collapse
- #do_convert(transaction) ⇒ Models::TransactionStatus
- #get_beagle_status(status) ⇒ Object
- #get_processing_details(transaction) ⇒ Models::ProcessingDetails
- #get_verification_result(transaction) ⇒ Object
Instance Method Details
#do_convert(transaction) ⇒ Models::TransactionStatus
8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/eway_rapid/message/convert/internal_transaction_to_status.rb', line 8 def do_convert(transaction) transaction_status = Models::TransactionStatus.new transaction_status.beagle_score = transaction.beagle_score if transaction.beagle_score transaction_status.status = transaction.transaction_status transaction_status.total = transaction.total_amount transaction_status.processing_details = get_processing_details(transaction) transaction_status.verification_result = get_verification_result(transaction) begin transaction_status.transaction_id = Integer(transaction.transaction_id) if transaction.transaction_id rescue raise ArgumentError.new 'Invalid transaction id when converting transaction to internal transaction status' end transaction_status end |
#get_beagle_status(status) ⇒ Object
44 45 46 47 48 49 50 51 |
# File 'lib/eway_rapid/message/convert/internal_transaction_to_status.rb', line 44 def get_beagle_status(status) begin index = Integer(status) Enums::BeagleVerifyStatus.calculate_beagle_status(index) rescue StandardError return nil end end |
#get_processing_details(transaction) ⇒ Models::ProcessingDetails
25 26 27 28 29 30 31 |
# File 'lib/eway_rapid/message/convert/internal_transaction_to_status.rb', line 25 def get_processing_details(transaction) processing_details = Models::ProcessingDetails.new processing_details. = transaction. processing_details.response_code = transaction.response_code processing_details. = transaction. processing_details end |
#get_verification_result(transaction) ⇒ Object
34 35 36 37 38 39 40 41 42 |
# File 'lib/eway_rapid/message/convert/internal_transaction_to_status.rb', line 34 def get_verification_result(transaction) converter = VerificationToVerificationResult.new verification_result = converter.do_convert(transaction.verification) if transaction.beagle_verification verification_result.beagle_email = get_beagle_status(transaction.beagle_verification.phone) verification_result.beagle_phone = get_beagle_status(transaction.beagle_verification.email) end verification_result end |