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 +4 -4
- data/lib/paytrace/api/fields.rb +1 -0
- data/lib/paytrace/customer.rb +13 -0
- data/lib/paytrace/version.rb +1 -1
- data/test/paytrace/customer_spec.rb +12 -0
- data/test/scripts/run_export_customers.rb +4 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 591818333f44a0917834bd85c0b89ae2a577a423
|
4
|
+
data.tar.gz: 5b77888fe9b318bb7c2680db0ef6c2da804c90b1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0161c3a2e1a3472bc7bfb8537e6155c87657155add10b3191d40e04953c720a4ba3d6a8731a966abbd8b0de390a4e955976a7c8fe13aaa482631b93a94387b34
|
7
|
+
data.tar.gz: 622e8c92d8583c832ea8a7e2aed56e79ba2e7f4a95c942a9883b61b0beb22ad32bf6d7eaf3769ad4639da5eca038cb1e87890ae7718de3015c7f5a7d0568fcdb
|
data/lib/paytrace/api/fields.rb
CHANGED
data/lib/paytrace/customer.rb
CHANGED
@@ -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
|
data/lib/paytrace/version.rb
CHANGED
@@ -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}) }
|