paytrace 0.1.9 → 0.1.10

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 44c650779abac381f8aa795ef2fdb9318ef846eb
4
- data.tar.gz: 148eeb0bddda9f331afabbc97ad2991e91a70599
3
+ metadata.gz: 591818333f44a0917834bd85c0b89ae2a577a423
4
+ data.tar.gz: 5b77888fe9b318bb7c2680db0ef6c2da804c90b1
5
5
  SHA512:
6
- metadata.gz: 19e53a00575c838678e7951a38f7b0051eef92df6dc1500d3220fcc107c626fd6ff4f0405978e3fd8120ce8928f1605c4de5b3c39a675c738f2afc71ca1b60ea
7
- data.tar.gz: f86a1e5fb3714839854f7ba55bcca993ed8cdaacd0dbcea34fcf94033003b5314676d3e431d22213b86b2df6a30384a130d4a903367645316841ab0f51fec365
6
+ metadata.gz: 0161c3a2e1a3472bc7bfb8537e6155c87657155add10b3191d40e04953c720a4ba3d6a8731a966abbd8b0de390a4e955976a7c8fe13aaa482631b93a94387b34
7
+ data.tar.gz: 622e8c92d8583c832ea8a7e2aed56e79ba2e7f4a95c942a9883b61b0beb22ad32bf6d7eaf3769ad4639da5eca038cb1e87890ae7718de3015c7f5a7d0568fcdb
@@ -53,6 +53,7 @@ module PayTrace
53
53
  customer_fax:"FAX",
54
54
  customer_phone:"PHONE",
55
55
  approval_code:"APPROVAL",
56
+ days_inactive:"DAYS",
56
57
  #cash advance
57
58
  cash_advance:"CASHADVANCE",
58
59
  id_number:"PHOTOID",
@@ -6,6 +6,7 @@ module PayTrace
6
6
  UPDATE_CUSTOMER = "UpdateCustomer"
7
7
  DELETE_CUSTOMER = "DeleteCustomer"
8
8
  EXPORT_CUSTOMERS = "ExportCustomers"
9
+ EXPORT_INACTIVE_CUSTOMERS = "ExportInactiveCustomers"
9
10
  EXPORT_CUSTOMERS_RESPONSE = "CUSTOMERRECORD"
10
11
 
11
12
  def initialize(customer_id = nil)
@@ -40,6 +41,18 @@ module PayTrace
40
41
  end
41
42
  end
42
43
 
44
+ def self.export_inactive(params = {})
45
+ request = PayTrace::API::Request.new
46
+ request.set_param(:method, EXPORT_INACTIVE_CUSTOMERS)
47
+ request.set_param(:days_inactive, params[:days_inactive])
48
+ gateway = PayTrace::API::Gateway.new
49
+ response = gateway.send_request(request, [EXPORT_CUSTOMERS_RESPONSE])
50
+
51
+ unless response.has_errors?
52
+ response.values[EXPORT_CUSTOMERS_RESPONSE]
53
+ end
54
+ end
55
+
43
56
  def self.delete(customer_id)
44
57
  Customer.new(customer_id).delete
45
58
  end
@@ -1,3 +1,3 @@
1
1
  module PayTrace
2
- VERSION = "0.1.9"
2
+ VERSION = "0.1.10"
3
3
  end
@@ -21,6 +21,18 @@ describe PayTrace::Customer do
21
21
  records[0].must_be_instance_of Hash
22
22
  records[0].keys.count.must_equal 29
23
23
  end
24
+
25
+ it "also exports inactive customers" do
26
+ PayTrace::API::Gateway.next_response = "CUSTOMERRECORD~CUSTID=12345+BNAME=John Doe+LASTTRANX=01/01/2014+LASTCHECK=02/01/2014+WHEN=03/01/2014"
27
+ records = PayTrace::Customer.export_inactive({days_inactive: 30})
28
+
29
+ PayTrace::API::Gateway.last_request.must_equal base_url + "METHOD~ExportInactiveCustomers|DAYS~30|"
30
+ records.count.must_equal 1
31
+ records.must_be_instance_of Array
32
+ records[0].must_be_instance_of Hash
33
+ records[0].keys.count.must_equal 5
34
+ records[0]['BNAME'].must_equal "John Doe"
35
+ end
24
36
  end
25
37
 
26
38
  describe "create customer profile" do
@@ -46,4 +46,7 @@ end
46
46
  PayTrace::API::Gateway.debug = true
47
47
 
48
48
  # this should dump out a wall of text...
49
- trace { puts PayTrace::Customer.export() }
49
+ trace { puts PayTrace::Customer.export() }
50
+
51
+ # this should dump inactive api-exporting-customer-profiles
52
+ trace { puts PayTrace::Customer.export_inactive({days_inactive: 30}) }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paytrace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Trevor Redfern