Class: EwayRapid::Message::Convert::InternalTransToTrans

Inherits:
Object
  • Object
show all
Defined in:
lib/eway_rapid/message/convert/internal_trans_to_trans.rb

Instance Method Summary collapse

Instance Method Details

#do_convert(i_transaction) ⇒ Models::Transaction

Parameters:

Returns:



8
9
10
11
12
13
14
15
# 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.options = i_transaction.options
  transaction
end

#get_eway_customer(i_transaction) ⇒ Models::Customer

Parameters:

Returns:



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/eway_rapid/message/convert/internal_trans_to_trans.rb', line 19

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) ⇒ Models::PaymentDetails

Parameters:

Returns:



33
34
35
36
37
38
39
# File 'lib/eway_rapid/message/convert/internal_trans_to_trans.rb', line 33

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) ⇒ Models::ShippingDetails

Parameters:

Returns:



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/eway_rapid/message/convert/internal_trans_to_trans.rb', line 43

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