class EwayRapid::Message::Convert::InternalTransToTrans

Public Instance Methods

do_convert(i_transaction) click to toggle source

@param [InternalModels::Transaction] i_transaction @return [Models::Transaction]

# File lib/eway_rapid/message/convert/internal_trans_to_trans.rb, line 8
def do_convert(i_transaction)
  transaction = Models::Transaction.new
  transaction.customer = get_eway_customer(i_transaction)
  transaction.payment_details = get_payment_details(i_transaction)
  transaction.shipping_details = get_shipping_details(i_transaction)
  transaction.token_customer_id = i_transaction.token_customer_id
  transaction.options = i_transaction.options
  transaction
end
get_eway_customer(i_transaction) click to toggle source

@param [InternalModels::Transaction] i_transaction @return [Models::Customer]

# File lib/eway_rapid/message/convert/internal_trans_to_trans.rb, line 20
def get_eway_customer(i_transaction)
  # @type [InternalModels::Customer]
  i_customer = i_transaction.customer
  customer_convert = InternalCustomerToCustomer.new

  # @type [Models::Customer]
  customer = customer_convert.do_convert(i_customer)
  address_convert = InternalTransactionToAddress.new
  customer.address = address_convert.do_convert(i_transaction)
  customer
end
get_payment_details(i_transaction) click to toggle source

@param [InternalModels::Transaction] i_transaction @return [Models::PaymentDetails]

# File lib/eway_rapid/message/convert/internal_trans_to_trans.rb, line 34
def get_payment_details(i_transaction)
  payment_details = Models::PaymentDetails.new
  payment_details.total_amount = i_transaction.total_amount
  payment_details.invoice_reference = i_transaction.invoice_reference
  payment_details.invoice_number = i_transaction.invoice_number
  payment_details
end
get_shipping_details(i_transaction) click to toggle source

@param [InternalModels::Transaction] i_transaction @return [Models::ShippingDetails]

# File lib/eway_rapid/message/convert/internal_trans_to_trans.rb, line 44
def get_shipping_details(i_transaction)
  shipping_details = Models::ShippingDetails.new

  if i_transaction.shipping_address
    address_convert = InternalTransactionToAddress.new
    shipping_details.shipping_address = address_convert.do_convert(i_transaction)
    shipping_details.shipping_method = i_transaction.shipping_address.shipping_method || ''
    shipping_details.first_name = i_transaction.shipping_address.first_name
    shipping_details.last_name = i_transaction.shipping_address.last_name
    shipping_details.email = i_transaction.shipping_address.email
    shipping_details.fax = i_transaction.shipping_address.fax
    shipping_details.phone = i_transaction.shipping_address.phone
  end

  shipping_details
end