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 22 23 24 25 26 27 28 29 |
# 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) transaction_status.transaction_date_time = transaction.transaction_date_time transaction_status.transaction_captured = transaction.transaction_captured transaction_status.source = transaction.source transaction_status.max_refund = transaction.max_refund transaction_status.original_transaction_id = transaction.original_transaction_id transaction_status.fraud_action = transaction.fraud_action transaction_status.currency_code = transaction.currency_code 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
52 53 54 55 56 57 58 59 |
# File 'lib/eway_rapid/message/convert/internal_transaction_to_status.rb', line 52 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
33 34 35 36 37 38 39 |
# File 'lib/eway_rapid/message/convert/internal_transaction_to_status.rb', line 33 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
42 43 44 45 46 47 48 49 50 |
# File 'lib/eway_rapid/message/convert/internal_transaction_to_status.rb', line 42 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 |