stone_ecommerce 1.0.3 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/lib/gateway/Address/billing_address.rb +25 -23
  3. data/lib/gateway/Address/buyer_address.rb +28 -25
  4. data/lib/gateway/Address/delivery_address.rb +24 -22
  5. data/lib/gateway/BoletoTransaction/boleto_transaction.rb +28 -30
  6. data/lib/gateway/BoletoTransaction/boleto_transaction_options.rb +14 -11
  7. data/lib/gateway/BoletoTransaction/boleto_transaction_report_file.rb +20 -17
  8. data/lib/gateway/CreditCardTransaction/credit_card.rb +19 -18
  9. data/lib/gateway/CreditCardTransaction/credit_card_transaction.rb +21 -19
  10. data/lib/gateway/CreditCardTransaction/credit_card_transaction_options.rb +17 -15
  11. data/lib/gateway/CreditCardTransaction/credit_card_transaction_report_file.rb +29 -26
  12. data/lib/gateway/CreditCardTransaction/manage_credit_card_transaction.rb +11 -8
  13. data/lib/gateway/CreditCardTransaction/retry_sale_credit_card_transaction.rb +10 -8
  14. data/lib/gateway/Gateway.rb +514 -334
  15. data/lib/gateway/InstantBuyData/create_instant_buy_data_request.rb +31 -0
  16. data/lib/gateway/InstantBuyData/update_instant_buy_data_request.rb +11 -0
  17. data/lib/gateway/Merchant/merchant.rb +10 -8
  18. data/lib/gateway/OnlineDebit/online_debit_transaction_report_file.rb +19 -16
  19. data/lib/gateway/Order/order.rb +11 -8
  20. data/lib/gateway/Order/order_transaction_report_file.rb +8 -5
  21. data/lib/gateway/Parsers/boleto_transaction_parser.rb +28 -25
  22. data/lib/gateway/Parsers/credit_card_transaction_parser.rb +37 -34
  23. data/lib/gateway/Parsers/header_parser.rb +13 -10
  24. data/lib/gateway/Parsers/online_debit_transaction_parser.rb +26 -23
  25. data/lib/gateway/Parsers/trailer_parser.rb +13 -11
  26. data/lib/gateway/Person/buyer.rb +22 -22
  27. data/lib/gateway/Person/create_buyer_request.rb +23 -0
  28. data/lib/gateway/Person/person.rb +34 -32
  29. data/lib/gateway/Recurrency/recurrency.rb +18 -16
  30. data/lib/gateway/Sale/create_sale_request.rb +26 -24
  31. data/lib/gateway/Sale/manage_sale_request.rb +13 -11
  32. data/lib/gateway/Sale/query_sale_request.rb +27 -25
  33. data/lib/gateway/Sale/request_data.rb +16 -14
  34. data/lib/gateway/Sale/retry_sale_options.rb +12 -10
  35. data/lib/gateway/Sale/retry_sale_request.rb +15 -14
  36. data/lib/gateway/Sale/sale_data.rb +0 -2
  37. data/lib/gateway/Sale/sale_order_data.rb +14 -12
  38. data/lib/gateway/SalesOption.rb +13 -11
  39. data/lib/gateway/ShoppingCart/shopping_cart.rb +18 -16
  40. data/lib/gateway/ShoppingCart/shopping_cart_item.rb +15 -13
  41. data/lib/gateway/Trailer.rb +8 -5
  42. data/lib/gateway/header.rb +7 -4
  43. data/lib/gateway/post_notification.rb +23 -20
  44. data/lib/gateway/transaction_report_file.rb +43 -40
  45. data/lib/stone_ecommerce.rb +6 -14
  46. data/spec/integration/gateway_spec.rb +376 -85
  47. data/spec/spec_helper.rb +96 -96
  48. data/stone_ecommerce.gemspec +2 -2
  49. metadata +6 -20
  50. data/lib/gateway/AntiFraud/anti_fraud_analysis_result.rb +0 -47
  51. data/lib/gateway/AntiFraud/query_sale_anti_fraud_analysis_data.rb +0 -51
  52. data/lib/gateway/AntiFraud/query_sale_anti_fraud_analysis_history_data.rb +0 -41
  53. data/lib/gateway/BaseRequest.rb +0 -11
  54. data/lib/gateway/BaseResponse.rb +0 -17
  55. data/lib/gateway/BoletoTransaction/boleto_transaction_data.rb +0 -44
  56. data/lib/gateway/BoletoTransaction/boleto_transaction_result.rb +0 -35
  57. data/lib/gateway/CreditCardTransaction/credit_card_transaction_data.rb +0 -104
  58. data/lib/gateway/ErrorItem.rb +0 -17
  59. data/lib/gateway/ErrorReport.rb +0 -18
  60. data/lib/gateway/InstantBuy/credit_card_data.rb +0 -41
  61. data/lib/gateway/InstantBuy/get_instant_buy_data_response.rb +0 -18
  62. data/lib/gateway/Sale/create_sale_response.rb +0 -25
  63. data/lib/gateway/Sale/manage_sale_response.rb +0 -15
  64. data/lib/gateway/Sale/query_sale_response.rb +0 -18
  65. data/lib/gateway/Sale/retry_sale_response.rb +0 -14
  66. data/lib/gateway/address.rb +0 -25
@@ -0,0 +1,31 @@
1
+ module Gateway
2
+ class CreateInstantBuyDataRequest
3
+ attr_accessor :IsOneDollarAuthEnabled
4
+
5
+ attr_accessor :CreditCardNumber
6
+
7
+ attr_accessor :HolderName
8
+
9
+ attr_accessor :SecurityCode
10
+
11
+ attr_accessor :ExpMonth
12
+
13
+ attr_accessor :ExpYear
14
+
15
+ attr_accessor :CreditCardBrand
16
+
17
+ attr_accessor :BillingAddress
18
+
19
+ attr_accessor :BuyerKey
20
+
21
+ def initialize
22
+ @BillingAddress = BillingAddress.new
23
+ end
24
+
25
+ def to_json
26
+ hash = {}
27
+ instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
28
+ hash
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,11 @@
1
+ module Gateway
2
+ class UpdateInstantBuyDataRequest
3
+ attr_accessor :BuyerKey
4
+
5
+ def to_json
6
+ hash = {}
7
+ instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
8
+ hash
9
+ end
10
+ end
11
+ end
@@ -1,11 +1,13 @@
1
- class Merchant
2
- # Identificador da loja na plataforma
3
- attr_accessor :MerchantReference
1
+ module Gateway
4
2
 
5
- def to_json
6
- hash = {}
7
- instance_variables.each {|var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
8
- hash
9
- end
3
+ class Merchant
4
+ # Identificador da loja na plataforma
5
+ attr_accessor :MerchantReference
10
6
 
7
+ def to_json
8
+ hash = {}
9
+ instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
10
+ hash
11
+ end
12
+ end
11
13
  end
@@ -1,18 +1,21 @@
1
- class OnlineDebitTransactionReportFile
2
- attr_accessor :Order
3
- attr_accessor :TransactionKey
4
- attr_accessor :TransactionReference
5
- attr_accessor :Bank
6
- attr_accessor :Status
7
- attr_accessor :AmountInCents
8
- attr_accessor :AmountPaidInCents
9
- attr_accessor :PaymentDate
10
- attr_accessor :BankReturnCode
11
- attr_accessor :BankPaymentDate
12
- attr_accessor :Signature
13
- attr_accessor :TransactionKeyToBank
1
+ module Gateway
14
2
 
15
- def initialize
16
- @Order = OrderTransactionReportFile.new
3
+ class OnlineDebitTransactionReportFile
4
+ attr_accessor :Order
5
+ attr_accessor :TransactionKey
6
+ attr_accessor :TransactionReference
7
+ attr_accessor :Bank
8
+ attr_accessor :Status
9
+ attr_accessor :AmountInCents
10
+ attr_accessor :AmountPaidInCents
11
+ attr_accessor :PaymentDate
12
+ attr_accessor :BankReturnCode
13
+ attr_accessor :BankPaymentDate
14
+ attr_accessor :Signature
15
+ attr_accessor :TransactionKeyToBank
16
+
17
+ def initialize
18
+ @Order = OrderTransactionReportFile.new
19
+ end
17
20
  end
18
- end
21
+ end
@@ -1,11 +1,14 @@
1
- class Order
2
- # Identificador do pedido no sistema da loja
3
- attr_accessor :OrderReference
1
+ module Gateway
4
2
 
5
- def to_json
6
- hash = {}
7
- instance_variables.each {|var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
8
- hash
9
- end
3
+ class Order
4
+ # Identificador do pedido no sistema da loja
5
+ attr_accessor :OrderReference
6
+
7
+ def to_json
8
+ hash = {}
9
+ instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
10
+ hash
11
+ end
10
12
 
13
+ end
11
14
  end
@@ -1,6 +1,9 @@
1
- class OrderTransactionReportFile
2
- attr_accessor :OrderKey
3
- attr_accessor :OrderReference
4
- attr_accessor :MerchantKey
5
- attr_accessor :MerchantName
1
+ module Gateway
2
+
3
+ class OrderTransactionReportFile
4
+ attr_accessor :OrderKey
5
+ attr_accessor :OrderReference
6
+ attr_accessor :MerchantKey
7
+ attr_accessor :MerchantName
8
+ end
6
9
  end
@@ -1,31 +1,34 @@
1
- class BoletoTransactionParser
2
- def Parse(elements)
3
- @@DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S'
1
+ module Gateway
4
2
 
5
- if elements.length < 18
6
- throw('The expected parameter count is 18')
7
- end
3
+ class BoletoTransactionParser
4
+ def Parse(elements)
5
+ @@DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S'
6
+
7
+ if elements.length < 18
8
+ throw('The expected parameter count is 18')
9
+ end
8
10
 
9
- boleto_transaction = BoletoTransactionReportFile.new
10
- boleto_transaction.Order.OrderKey = elements[1]
11
- boleto_transaction.Order.OrderReference = elements[2]
12
- boleto_transaction.Order.MerchantKey = elements[3]
13
- boleto_transaction.Order.MerchantName = elements[4]
11
+ boleto_transaction = BoletoTransactionReportFile.new
12
+ boleto_transaction.Order.OrderKey = elements[1]
13
+ boleto_transaction.Order.OrderReference = elements[2]
14
+ boleto_transaction.Order.MerchantKey = elements[3]
15
+ boleto_transaction.Order.MerchantName = elements[4]
14
16
 
15
- boleto_transaction.TransactionKey = elements[5]
16
- boleto_transaction.TransactionReference = elements[6]
17
- boleto_transaction.Status = elements[7]
18
- boleto_transaction.NossoNumero = elements[8]
19
- boleto_transaction.BankNumber = elements[9]
20
- boleto_transaction.Agency = elements[10]
21
- boleto_transaction.Account = elements[11]
22
- boleto_transaction.BarCode = elements[12]
23
- boleto_transaction.ExpirationDate = DateTime.strptime(elements[13],'%m/%d/%Y %H:%M:%S').strftime(@@DATETIME_FORMAT)
24
- boleto_transaction.AmountInCents = elements[14].to_i
25
- boleto_transaction.AmountPaidInCents = (elements[15].to_s == '') == false ? elements[15].to_i : 0
26
- boleto_transaction.PaymentDate = (elements[16].to_s == '') == false ? DateTime.strptime(elements[16], '%m/%d/%Y %H:%M:%S').strftime(@@DATETIME_FORMAT) : nil
27
- boleto_transaction.CreditDate = (elements[17].chomp.to_s == '') == false ? DateTime.strptime(elements[17], '%m/%d/%Y %H:%M:%S').strftime(@@DATETIME_FORMAT) : nil
17
+ boleto_transaction.TransactionKey = elements[5]
18
+ boleto_transaction.TransactionReference = elements[6]
19
+ boleto_transaction.Status = elements[7]
20
+ boleto_transaction.NossoNumero = elements[8]
21
+ boleto_transaction.BankNumber = elements[9]
22
+ boleto_transaction.Agency = elements[10]
23
+ boleto_transaction.Account = elements[11]
24
+ boleto_transaction.BarCode = elements[12]
25
+ boleto_transaction.ExpirationDate = DateTime.strptime(elements[13], '%m/%d/%Y %H:%M:%S').strftime(@@DATETIME_FORMAT)
26
+ boleto_transaction.AmountInCents = elements[14].to_i
27
+ boleto_transaction.AmountPaidInCents = (elements[15].to_s == '') == false ? elements[15].to_i : 0
28
+ boleto_transaction.PaymentDate = (elements[16].to_s == '') == false ? DateTime.strptime(elements[16], '%m/%d/%Y %H:%M:%S').strftime(@@DATETIME_FORMAT) : nil
29
+ boleto_transaction.CreditDate = (elements[17].chomp.to_s == '') == false ? DateTime.strptime(elements[17], '%m/%d/%Y %H:%M:%S').strftime(@@DATETIME_FORMAT) : nil
28
30
 
29
- return boleto_transaction
31
+ return boleto_transaction
32
+ end
30
33
  end
31
34
  end
@@ -1,40 +1,43 @@
1
- class CreditCardTransactionParser
2
- def Parse(elements)
3
- @@DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S'
1
+ module Gateway
4
2
 
5
- if elements.length < 27
6
- throw('The expected parameter count is 27')
7
- end
3
+ class CreditCardTransactionParser
4
+ def Parse(elements)
5
+ @@DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S'
6
+
7
+ if elements.length < 27
8
+ throw('The expected parameter count is 27')
9
+ end
8
10
 
9
- credit_card_transaction = CreditCardTransactionReportFile.new
10
- credit_card_transaction.Order.OrderKey = elements[1]
11
- credit_card_transaction.Order.OrderReference = elements[2]
12
- credit_card_transaction.Order.MerchantKey = elements[3]
13
- credit_card_transaction.Order.MerchantName = elements[4]
11
+ credit_card_transaction = CreditCardTransactionReportFile.new
12
+ credit_card_transaction.Order.OrderKey = elements[1]
13
+ credit_card_transaction.Order.OrderReference = elements[2]
14
+ credit_card_transaction.Order.MerchantKey = elements[3]
15
+ credit_card_transaction.Order.MerchantName = elements[4]
14
16
 
15
- credit_card_transaction.TransactionKey = elements[5]
16
- credit_card_transaction.TransactionKeyToAcquirer = elements[6]
17
- credit_card_transaction.CreditCardTransactionReference = elements[7]
18
- credit_card_transaction.CreditCardBrand = elements[8]
19
- credit_card_transaction.CreditCardNumber = elements[9]
20
- credit_card_transaction.InstallmentCount = (elements[10].to_s == '') == false ? elements[10].to_i : 0
21
- credit_card_transaction.AcquirerName = elements[11]
22
- credit_card_transaction.Status = elements[12]
23
- credit_card_transaction.AmountInCents = (elements[13].to_s == '') == false ? elements[13].to_i : 0
24
- credit_card_transaction.IataAmountInCents = (elements[14].to_s == '') == false ? elements[14].to_i : 0
25
- credit_card_transaction.AuthorizationCode = elements[15]
26
- credit_card_transaction.TransactionIdentifier = elements[16]
27
- credit_card_transaction.UniqueSequentialNumber = elements[17]
28
- credit_card_transaction.AuthorizedAmountInCents = (elements[18].to_s == '') == false ? elements[18].to_i : 0
29
- credit_card_transaction.CapturedAmountInCents = (elements[19].to_s == '') == false ? elements[19].to_i : 0
30
- credit_card_transaction.VoidedAmountInCents = (elements[20].to_s == '') == false ? elements[20].to_i : 0
31
- credit_card_transaction.RefundedAmountInCents = (elements[21].to_s == '') == false ? elements[21].to_i : 0
32
- credit_card_transaction.AcquirerAuthorizationReturnCode = elements[22]
33
- credit_card_transaction.AuthorizedDate = (elements[23].to_s == '') == false ? DateTime.strptime(elements[23], '%Y-%m-%dT%H:%M:%S').strftime(@@DATETIME_FORMAT) : nil
34
- credit_card_transaction.CapturedDate = (elements[24].to_s == '') == false ? DateTime.strptime(elements[24], '%Y-%m-%dT%H:%M:%S').strftime(@@DATETIME_FORMAT) : nil
35
- credit_card_transaction.VoidedDate = (elements[25].to_s == '') == false ? DateTime.strptime(elements[25], '%Y-%m-%dT%H:%M:%S').strftime(@@DATETIME_FORMAT) : nil
36
- credit_card_transaction.LastProbeDate = (elements[26].chomp.to_s == '') == false ? DateTime.strptime(elements[26], '%Y-%m-%dT%H:%M:%S').strftime(@@DATETIME_FORMAT) : nil
17
+ credit_card_transaction.TransactionKey = elements[5]
18
+ credit_card_transaction.TransactionKeyToAcquirer = elements[6]
19
+ credit_card_transaction.CreditCardTransactionReference = elements[7]
20
+ credit_card_transaction.CreditCardBrand = elements[8]
21
+ credit_card_transaction.CreditCardNumber = elements[9]
22
+ credit_card_transaction.InstallmentCount = (elements[10].to_s == '') == false ? elements[10].to_i : 0
23
+ credit_card_transaction.AcquirerName = elements[11]
24
+ credit_card_transaction.Status = elements[12]
25
+ credit_card_transaction.AmountInCents = (elements[13].to_s == '') == false ? elements[13].to_i : 0
26
+ credit_card_transaction.IataAmountInCents = (elements[14].to_s == '') == false ? elements[14].to_i : 0
27
+ credit_card_transaction.AuthorizationCode = elements[15]
28
+ credit_card_transaction.TransactionIdentifier = elements[16]
29
+ credit_card_transaction.UniqueSequentialNumber = elements[17]
30
+ credit_card_transaction.AuthorizedAmountInCents = (elements[18].to_s == '') == false ? elements[18].to_i : 0
31
+ credit_card_transaction.CapturedAmountInCents = (elements[19].to_s == '') == false ? elements[19].to_i : 0
32
+ credit_card_transaction.VoidedAmountInCents = (elements[20].to_s == '') == false ? elements[20].to_i : 0
33
+ credit_card_transaction.RefundedAmountInCents = (elements[21].to_s == '') == false ? elements[21].to_i : 0
34
+ credit_card_transaction.AcquirerAuthorizationReturnCode = elements[22]
35
+ credit_card_transaction.AuthorizedDate = (elements[23].to_s == '') == false ? DateTime.strptime(elements[23], '%Y-%m-%dT%H:%M:%S').strftime(@@DATETIME_FORMAT) : nil
36
+ credit_card_transaction.CapturedDate = (elements[24].to_s == '') == false ? DateTime.strptime(elements[24], '%Y-%m-%dT%H:%M:%S').strftime(@@DATETIME_FORMAT) : nil
37
+ credit_card_transaction.VoidedDate = (elements[25].to_s == '') == false ? DateTime.strptime(elements[25], '%Y-%m-%dT%H:%M:%S').strftime(@@DATETIME_FORMAT) : nil
38
+ credit_card_transaction.LastProbeDate = (elements[26].chomp.to_s == '') == false ? DateTime.strptime(elements[26], '%Y-%m-%dT%H:%M:%S').strftime(@@DATETIME_FORMAT) : nil
37
39
 
38
- return credit_card_transaction
40
+ return credit_card_transaction
41
+ end
39
42
  end
40
43
  end
@@ -1,14 +1,17 @@
1
- class HeaderParser
2
- def Parse(elements)
3
- if elements.length < 4
4
- throw('The expected parameter count is 4')
5
- end
1
+ module Gateway
2
+
3
+ class HeaderParser
4
+ def Parse(elements)
5
+ if elements.length < 4
6
+ throw('The expected parameter count is 4')
7
+ end
6
8
 
7
- header = Header.new
8
- header.TransactionProcessedDate = Date.parse(elements[1]).strftime('%Y%m%d')
9
- header.ReportFileCreateDate = Date.parse(elements[2]).strftime('%Y%m%d %H:%M:%S')
10
- header.Version = elements[3].chomp
9
+ header = Header.new
10
+ header.TransactionProcessedDate = Date.parse(elements[1]).strftime('%Y%m%d')
11
+ header.ReportFileCreateDate = Date.parse(elements[2]).strftime('%Y%m%d %H:%M:%S')
12
+ header.Version = elements[3].chomp
11
13
 
12
- return header
14
+ return header
15
+ end
13
16
  end
14
17
  end
@@ -1,30 +1,33 @@
1
- class OnlineDebitTransactionParser
2
- def Parse(elements)
3
- @@DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S'
1
+ module Gateway
4
2
 
5
- if elements.length < 16
6
- throw('The expected parameter count is 16')
7
- end
3
+ class OnlineDebitTransactionParser
4
+ def Parse(elements)
5
+ @@DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S'
6
+
7
+ if elements.length < 16
8
+ throw('The expected parameter count is 16')
9
+ end
8
10
 
9
- online_debit_transaction = OnlineDebitTransactionReportFile.new
11
+ online_debit_transaction = OnlineDebitTransactionReportFile.new
10
12
 
11
- online_debit_transaction.Order.OrderKey = elements[1]
12
- online_debit_transaction.Order.OrderReference = elements[2]
13
- online_debit_transaction.Order.MerchantKey = elements[3]
14
- online_debit_transaction.Order.MerchantName = elements[4]
13
+ online_debit_transaction.Order.OrderKey = elements[1]
14
+ online_debit_transaction.Order.OrderReference = elements[2]
15
+ online_debit_transaction.Order.MerchantKey = elements[3]
16
+ online_debit_transaction.Order.MerchantName = elements[4]
15
17
 
16
- online_debit_transaction.TransactionKey = elements[5]
17
- online_debit_transaction.TransactionReference = elements[6]
18
- online_debit_transaction.Bank = elements[7]
19
- online_debit_transaction.Status = elements[8]
20
- online_debit_transaction.AmountInCents = elements[9].to_i
21
- online_debit_transaction.AmountPaidInCents = (elements[10].to_s == '') == false ? elements[10].to_i : 0
22
- online_debit_transaction.PaymentDate = (elements[11].to_s == '') == false ? DateTime.strptime(elements[11],'%m/%d/%Y %H:%M:%S').strftime(@@DATETIME_FORMAT) : nil
23
- online_debit_transaction.BankReturnCode = elements[12]
24
- online_debit_transaction.BankPaymentDate = elements[13]
25
- online_debit_transaction.Signature = elements[14]
26
- online_debit_transaction.TransactionKeyToBank = elements[15].chomp
18
+ online_debit_transaction.TransactionKey = elements[5]
19
+ online_debit_transaction.TransactionReference = elements[6]
20
+ online_debit_transaction.Bank = elements[7]
21
+ online_debit_transaction.Status = elements[8]
22
+ online_debit_transaction.AmountInCents = elements[9].to_i
23
+ online_debit_transaction.AmountPaidInCents = (elements[10].to_s == '') == false ? elements[10].to_i : 0
24
+ online_debit_transaction.PaymentDate = (elements[11].to_s == '') == false ? DateTime.strptime(elements[11], '%m/%d/%Y %H:%M:%S').strftime(@@DATETIME_FORMAT) : nil
25
+ online_debit_transaction.BankReturnCode = elements[12]
26
+ online_debit_transaction.BankPaymentDate = elements[13]
27
+ online_debit_transaction.Signature = elements[14]
28
+ online_debit_transaction.TransactionKeyToBank = elements[15].chomp
27
29
 
28
- return online_debit_transaction
30
+ return online_debit_transaction
31
+ end
29
32
  end
30
33
  end
@@ -1,15 +1,17 @@
1
- class TrailerParser
2
- def Parse(elements)
3
- if elements.length < 5
4
- throw('The expected parameter count is 5')
5
- end
1
+ module Gateway
2
+ class TrailerParser
3
+ def Parse(elements)
4
+ if elements.length < 5
5
+ throw('The expected parameter count is 5')
6
+ end
6
7
 
7
- trailer = Trailer.new
8
- trailer.OrderDataCount = elements[1]
9
- trailer.CreditCardTransactionDataCount = elements[2]
10
- trailer.BoletoTransactionDataCount = elements[3]
11
- trailer.OnlineDebitTransactionDataCount = elements[4].chomp
8
+ trailer = Trailer.new
9
+ trailer.OrderDataCount = elements[1]
10
+ trailer.CreditCardTransactionDataCount = elements[2]
11
+ trailer.BoletoTransactionDataCount = elements[3]
12
+ trailer.OnlineDebitTransactionDataCount = elements[4].chomp
12
13
 
13
- return trailer
14
+ return trailer
15
+ end
14
16
  end
15
17
  end
@@ -1,33 +1,33 @@
1
1
  require_relative 'person'
2
+ module Gateway
2
3
 
3
- class Buyer < Person
4
- # Chave do comprador. Utilizada para identificar um comprador no gateway
5
- attr_accessor :BuyerKey
4
+ class Buyer < Person
5
+ # Chave do comprador. Utilizada para identificar um comprador no gateway
6
+ attr_accessor :BuyerKey
6
7
 
7
- # Refer�ncia do comprador no sistema da loja
8
- attr_accessor :BuyerReference
8
+ # Refer�ncia do comprador no sistema da loja
9
+ attr_accessor :BuyerReference
9
10
 
10
- # Lista de endere�os do comprador
11
- attr_accessor :AddressCollection
11
+ # Lista de endere�os do comprador
12
+ attr_accessor :AddressCollection
12
13
 
13
- # Data de cria��o do comprador no sistema da loja
14
- attr_accessor :CreateDateInMerchant
14
+ # Data de cria��o do comprador no sistema da loja
15
+ attr_accessor :CreateDateInMerchant
15
16
 
16
- # Data da �ltima atualiza��o do cadastro do comprador no sistema da loja
17
- attr_accessor :LastBuyerUpdateInMerchant
17
+ # Data da �ltima atualiza��o do cadastro do comprador no sistema da loja
18
+ attr_accessor :LastBuyerUpdateInMerchant
18
19
 
19
- # Categoria do comprador
20
- attr_accessor :BuyerCategory
21
-
22
- def initialize
23
- @AddressCollection = Array.new
24
- end
20
+ # Categoria do comprador
21
+ attr_accessor :BuyerCategory
25
22
 
23
+ def initialize
24
+ @AddressCollection = Array.new
25
+ end
26
26
 
27
- def to_json
28
- hash = {}
29
- instance_variables.each {|var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
30
- hash
27
+ def to_json
28
+ hash = {}
29
+ instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
30
+ hash
31
+ end
31
32
  end
32
-
33
33
  end