chartmogul-ruby 1.2.2 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +10 -1
- data/README.md +3 -1
- data/chartmogul-ruby.gemspec +2 -1
- data/fixtures/vcr_cassettes/ChartMogul_Subscription/_update_cancellation_dates/when_array_has_time_objects/is_setting_the_cancellation_dates_of_the_subscription.yml +138 -0
- data/fixtures/vcr_cassettes/ChartMogul_Subscription/_update_cancellation_dates/when_array_includes_invalid_entries/raises_an_exception.yml +93 -0
- data/fixtures/vcr_cassettes/ChartMogul_Subscription/_update_cancellation_dates/when_array_includes_valid_entries/is_setting_the_cancellation_dates_of_the_subscription.yml +138 -0
- data/fixtures/vcr_cassettes/ChartMogul_Subscription/_update_cancellation_dates/when_array_is_empty/makes_an_API_call_and_removes_the_cancellation_dates.yml +138 -0
- data/lib/chartmogul/subscription.rb +13 -4
- data/lib/chartmogul/version.rb +1 -1
- data/pre-commit.example +5 -0
- metadata +23 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bb69d34374a3e296f5849a6e2b142d7bfd8ab63b
|
4
|
+
data.tar.gz: 6756b04e3689169432b05640c1e98e24f04e248d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac0364c3b42ca055eb191974ca592e1395be7a91eb2949dde133dc604f158b6623761f432701bf1b7757d8875648587ecca928e85dc7b03ebe6ff533ba93498b
|
7
|
+
data.tar.gz: '09844cdef8e2d696f0d5311a175fbc2cd796da195a045bf9e88f68c54d28bc61b262fcb81453acfa257df8cf54d3cf73779a4dd78e30fa46db06cf51a012e3d5'
|
data/.travis.yml
CHANGED
@@ -1,9 +1,18 @@
|
|
1
1
|
language: ruby
|
2
2
|
rvm:
|
3
|
-
- 2.3
|
3
|
+
- 2.3
|
4
|
+
- 2.4
|
4
5
|
|
5
6
|
before_install: gem install bundler
|
6
7
|
|
8
|
+
before_script:
|
9
|
+
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
10
|
+
- chmod +x ./cc-test-reporter
|
11
|
+
- ./cc-test-reporter before-build
|
12
|
+
|
7
13
|
branches:
|
8
14
|
only:
|
9
15
|
- master
|
16
|
+
|
17
|
+
after_script:
|
18
|
+
- ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
|
data/README.md
CHANGED
@@ -30,7 +30,6 @@
|
|
30
30
|
<hr>
|
31
31
|
<br>
|
32
32
|
|
33
|
-
|
34
33
|
## Installation
|
35
34
|
|
36
35
|
Add this line to your application's Gemfile:
|
@@ -47,6 +46,9 @@ Or install it yourself as:
|
|
47
46
|
|
48
47
|
$ gem install chartmogul-ruby
|
49
48
|
|
49
|
+
### Supported Ruby Versions
|
50
|
+
This gem supports Ruby 2.3 and 2.4.
|
51
|
+
|
50
52
|
## Configuration
|
51
53
|
|
52
54
|
Configure `chartmogul-ruby` with your Account Token and Secret Key, available from the administration section of your ChartMogul account.
|
data/chartmogul-ruby.gemspec
CHANGED
@@ -22,10 +22,11 @@ Gem::Specification.new do |spec|
|
|
22
22
|
|
23
23
|
spec.add_dependency 'faraday', '~> 0.15.0'
|
24
24
|
|
25
|
-
spec.add_development_dependency 'bundler', '~> 1
|
25
|
+
spec.add_development_dependency 'bundler', '~> 2.0.1'
|
26
26
|
spec.add_development_dependency 'rake', '~> 10.0'
|
27
27
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
28
28
|
spec.add_development_dependency 'vcr', '~> 3.0'
|
29
29
|
spec.add_development_dependency 'pry', '~> 0.10.3'
|
30
30
|
spec.add_development_dependency 'webmock', '~> 3.4', '>= 3.4.2'
|
31
|
+
spec.add_development_dependency 'simplecov', '~> 0.16.0'
|
31
32
|
end
|
@@ -0,0 +1,138 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.chartmogul.com/v1/customers?external_id=test_cus_ext_id
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.15.4
|
12
|
+
Content-Type:
|
13
|
+
- application/json
|
14
|
+
Authorization:
|
15
|
+
- Basic Hidden
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message:
|
20
|
+
headers:
|
21
|
+
server:
|
22
|
+
- nginx/1.10.1
|
23
|
+
date:
|
24
|
+
- Mon, 04 Mar 2019 15:04:12 GMT
|
25
|
+
content-type:
|
26
|
+
- application/json
|
27
|
+
content-length:
|
28
|
+
- '889'
|
29
|
+
connection:
|
30
|
+
- keep-alive
|
31
|
+
status:
|
32
|
+
- 200 OK
|
33
|
+
access-control-allow-credentials:
|
34
|
+
- 'true'
|
35
|
+
body:
|
36
|
+
encoding: UTF-8
|
37
|
+
string: '{"entries":[{"id":22661127,"uuid":"cus_b289bb4c-3e6f-11e9-b645-6369759fc9da","external_id":"test_cus_ext_id","name":"Test
|
38
|
+
Customer","email":"","status":"Active","customer-since":"2016-01-01T12:00:00+00:00","attributes":{"custom":{},"clearbit":{},"stripe":{},"tags":[]},"data_source_uuid":"ds_99d06d30-3e6f-11e9-b645-837bf5404a47","data_source_uuids":["ds_99d06d30-3e6f-11e9-b645-837bf5404a47"],"external_ids":["test_cus_ext_id"],"company":"","country":null,"state":null,"city":"","zip":null,"lead_created_at":null,"free_trial_started_at":null,"address":{"country":null,"state":null,"city":"","address_zip":null},"mrr":4348,"arr":52176,"billing-system-url":null,"chartmogul-url":"https://app.chartmogul.com/#customers/22661127-Test_Customer","billing-system-type":"Import
|
39
|
+
API","currency":"USD","currency-sign":"$"}],"current_page":1,"total_pages":1,"has_more":false,"per_page":200,"page":1}'
|
40
|
+
http_version:
|
41
|
+
recorded_at: Mon, 04 Mar 2019 15:04:12 GMT
|
42
|
+
- request:
|
43
|
+
method: get
|
44
|
+
uri: https://api.chartmogul.com/v1/import/customers/cus_b289bb4c-3e6f-11e9-b645-6369759fc9da/subscriptions
|
45
|
+
body:
|
46
|
+
encoding: US-ASCII
|
47
|
+
string: ''
|
48
|
+
headers:
|
49
|
+
User-Agent:
|
50
|
+
- Faraday v0.15.4
|
51
|
+
Content-Type:
|
52
|
+
- application/json
|
53
|
+
Authorization:
|
54
|
+
- Basic Hidden
|
55
|
+
response:
|
56
|
+
status:
|
57
|
+
code: 200
|
58
|
+
message:
|
59
|
+
headers:
|
60
|
+
server:
|
61
|
+
- nginx/1.10.1
|
62
|
+
date:
|
63
|
+
- Mon, 04 Mar 2019 15:04:12 GMT
|
64
|
+
content-type:
|
65
|
+
- application/json; charset=utf-8
|
66
|
+
transfer-encoding:
|
67
|
+
- chunked
|
68
|
+
connection:
|
69
|
+
- keep-alive
|
70
|
+
vary:
|
71
|
+
- Accept-Encoding, Accept-Encoding
|
72
|
+
x-frame-options:
|
73
|
+
- SAMEORIGIN
|
74
|
+
x-xss-protection:
|
75
|
+
- 1; mode=block
|
76
|
+
x-content-type-options:
|
77
|
+
- nosniff
|
78
|
+
etag:
|
79
|
+
- W/"326d93dd0e74d25754ea1611dc13afb0"
|
80
|
+
cache-control:
|
81
|
+
- max-age=0, private, must-revalidate
|
82
|
+
x-request-id:
|
83
|
+
- ce3e2ca1-ac44-4e83-bad3-4418d5b9f99d
|
84
|
+
x-runtime:
|
85
|
+
- '0.062006'
|
86
|
+
strict-transport-security:
|
87
|
+
- max-age=15768000
|
88
|
+
body:
|
89
|
+
encoding: ASCII-8BIT
|
90
|
+
string: '{"customer_uuid":"cus_b289bb4c-3e6f-11e9-b645-6369759fc9da","subscriptions":[{"uuid":"sub_c2c97897-f0a0-4448-a035-043d7a19b845","external_id":"test_cus_sub_ext_id","cancellation_dates":[],"plan_uuid":"pl_933aefe0-209d-0137-2188-040113b1c101","data_source_uuid":"ds_99d06d30-3e6f-11e9-b645-837bf5404a47"}],"current_page":1,"total_pages":1}'
|
91
|
+
http_version:
|
92
|
+
recorded_at: Mon, 04 Mar 2019 15:04:12 GMT
|
93
|
+
- request:
|
94
|
+
method: patch
|
95
|
+
uri: https://api.chartmogul.com/v1/import/subscriptions/sub_c2c97897-f0a0-4448-a035-043d7a19b845
|
96
|
+
body:
|
97
|
+
encoding: UTF-8
|
98
|
+
string: '{"cancellation_dates":["2000-01-01 00:00:00 UTC"]}'
|
99
|
+
headers:
|
100
|
+
User-Agent:
|
101
|
+
- Faraday v0.15.4
|
102
|
+
Content-Type:
|
103
|
+
- application/json
|
104
|
+
Authorization:
|
105
|
+
- Basic Hidden
|
106
|
+
response:
|
107
|
+
status:
|
108
|
+
code: 202
|
109
|
+
message:
|
110
|
+
headers:
|
111
|
+
server:
|
112
|
+
- nginx/1.10.1
|
113
|
+
date:
|
114
|
+
- Mon, 04 Mar 2019 15:04:13 GMT
|
115
|
+
content-type:
|
116
|
+
- application/json; charset=utf-8
|
117
|
+
transfer-encoding:
|
118
|
+
- chunked
|
119
|
+
connection:
|
120
|
+
- keep-alive
|
121
|
+
x-frame-options:
|
122
|
+
- SAMEORIGIN
|
123
|
+
x-xss-protection:
|
124
|
+
- 1; mode=block
|
125
|
+
x-content-type-options:
|
126
|
+
- nosniff
|
127
|
+
cache-control:
|
128
|
+
- no-cache
|
129
|
+
x-request-id:
|
130
|
+
- d65b3ecf-9fbb-4c4b-b213-cdf17415cbc4
|
131
|
+
x-runtime:
|
132
|
+
- '0.125522'
|
133
|
+
body:
|
134
|
+
encoding: UTF-8
|
135
|
+
string: '{"uuid":"sub_c2c97897-f0a0-4448-a035-043d7a19b845","external_id":"test_cus_sub_ext_id","cancellation_dates":["2000-01-01T00:00:00.000Z"],"customer_uuid":"cus_b289bb4c-3e6f-11e9-b645-6369759fc9da","plan_uuid":"pl_933aefe0-209d-0137-2188-040113b1c101","data_source_uuid":"ds_99d06d30-3e6f-11e9-b645-837bf5404a47"}'
|
136
|
+
http_version:
|
137
|
+
recorded_at: Mon, 04 Mar 2019 15:04:13 GMT
|
138
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,93 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.chartmogul.com/v1/customers?external_id=test_cus_ext_id
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.15.4
|
12
|
+
Content-Type:
|
13
|
+
- application/json
|
14
|
+
Authorization:
|
15
|
+
- Basic Hidden
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message:
|
20
|
+
headers:
|
21
|
+
server:
|
22
|
+
- nginx/1.10.1
|
23
|
+
date:
|
24
|
+
- Mon, 04 Mar 2019 12:51:15 GMT
|
25
|
+
content-type:
|
26
|
+
- application/json
|
27
|
+
content-length:
|
28
|
+
- '889'
|
29
|
+
connection:
|
30
|
+
- keep-alive
|
31
|
+
status:
|
32
|
+
- 200 OK
|
33
|
+
access-control-allow-credentials:
|
34
|
+
- 'true'
|
35
|
+
body:
|
36
|
+
encoding: UTF-8
|
37
|
+
string: '{"entries":[{"id":22661127,"uuid":"cus_b289bb4c-3e6f-11e9-b645-6369759fc9da","external_id":"test_cus_ext_id","name":"Test
|
38
|
+
Customer","email":"","status":"Active","customer-since":"2016-01-01T12:00:00+00:00","attributes":{"custom":{},"clearbit":{},"stripe":{},"tags":[]},"data_source_uuid":"ds_99d06d30-3e6f-11e9-b645-837bf5404a47","data_source_uuids":["ds_99d06d30-3e6f-11e9-b645-837bf5404a47"],"external_ids":["test_cus_ext_id"],"company":"","country":null,"state":null,"city":"","zip":null,"lead_created_at":null,"free_trial_started_at":null,"address":{"country":null,"state":null,"city":"","address_zip":null},"mrr":4348,"arr":52176,"billing-system-url":null,"chartmogul-url":"https://app.chartmogul.com/#customers/22661127-Test_Customer","billing-system-type":"Import
|
39
|
+
API","currency":"USD","currency-sign":"$"}],"current_page":1,"total_pages":1,"has_more":false,"per_page":200,"page":1}'
|
40
|
+
http_version:
|
41
|
+
recorded_at: Mon, 04 Mar 2019 12:51:15 GMT
|
42
|
+
- request:
|
43
|
+
method: get
|
44
|
+
uri: https://api.chartmogul.com/v1/import/customers/cus_b289bb4c-3e6f-11e9-b645-6369759fc9da/subscriptions
|
45
|
+
body:
|
46
|
+
encoding: US-ASCII
|
47
|
+
string: ''
|
48
|
+
headers:
|
49
|
+
User-Agent:
|
50
|
+
- Faraday v0.15.4
|
51
|
+
Content-Type:
|
52
|
+
- application/json
|
53
|
+
Authorization:
|
54
|
+
- Basic Hidden
|
55
|
+
response:
|
56
|
+
status:
|
57
|
+
code: 200
|
58
|
+
message:
|
59
|
+
headers:
|
60
|
+
server:
|
61
|
+
- nginx/1.10.1
|
62
|
+
date:
|
63
|
+
- Mon, 04 Mar 2019 12:51:16 GMT
|
64
|
+
content-type:
|
65
|
+
- application/json; charset=utf-8
|
66
|
+
transfer-encoding:
|
67
|
+
- chunked
|
68
|
+
connection:
|
69
|
+
- keep-alive
|
70
|
+
vary:
|
71
|
+
- Accept-Encoding, Accept-Encoding
|
72
|
+
x-frame-options:
|
73
|
+
- SAMEORIGIN
|
74
|
+
x-xss-protection:
|
75
|
+
- 1; mode=block
|
76
|
+
x-content-type-options:
|
77
|
+
- nosniff
|
78
|
+
etag:
|
79
|
+
- W/"254e64ffb96f23cc2f16356dbd4e8051"
|
80
|
+
cache-control:
|
81
|
+
- max-age=0, private, must-revalidate
|
82
|
+
x-request-id:
|
83
|
+
- 8335a8c6-0279-479b-ba1d-c5be1d1bf9d4
|
84
|
+
x-runtime:
|
85
|
+
- '0.057060'
|
86
|
+
strict-transport-security:
|
87
|
+
- max-age=15768000
|
88
|
+
body:
|
89
|
+
encoding: ASCII-8BIT
|
90
|
+
string: '{"customer_uuid":"cus_b289bb4c-3e6f-11e9-b645-6369759fc9da","subscriptions":[{"uuid":"sub_c2c97897-f0a0-4448-a035-043d7a19b845","external_id":"test_cus_sub_ext_id","cancellation_dates":["1999-12-31T22:00:00.000Z"],"plan_uuid":"pl_933aefe0-209d-0137-2188-040113b1c101","data_source_uuid":"ds_99d06d30-3e6f-11e9-b645-837bf5404a47"}],"current_page":1,"total_pages":1}'
|
91
|
+
http_version:
|
92
|
+
recorded_at: Mon, 04 Mar 2019 12:51:16 GMT
|
93
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,138 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.chartmogul.com/v1/customers?external_id=test_cus_ext_id
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.15.4
|
12
|
+
Content-Type:
|
13
|
+
- application/json
|
14
|
+
Authorization:
|
15
|
+
- Basic Hidden
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message:
|
20
|
+
headers:
|
21
|
+
server:
|
22
|
+
- nginx/1.10.1
|
23
|
+
date:
|
24
|
+
- Mon, 04 Mar 2019 12:51:16 GMT
|
25
|
+
content-type:
|
26
|
+
- application/json
|
27
|
+
content-length:
|
28
|
+
- '889'
|
29
|
+
connection:
|
30
|
+
- keep-alive
|
31
|
+
status:
|
32
|
+
- 200 OK
|
33
|
+
access-control-allow-credentials:
|
34
|
+
- 'true'
|
35
|
+
body:
|
36
|
+
encoding: UTF-8
|
37
|
+
string: '{"entries":[{"id":22661127,"uuid":"cus_b289bb4c-3e6f-11e9-b645-6369759fc9da","external_id":"test_cus_ext_id","name":"Test
|
38
|
+
Customer","email":"","status":"Active","customer-since":"2016-01-01T12:00:00+00:00","attributes":{"custom":{},"clearbit":{},"stripe":{},"tags":[]},"data_source_uuid":"ds_99d06d30-3e6f-11e9-b645-837bf5404a47","data_source_uuids":["ds_99d06d30-3e6f-11e9-b645-837bf5404a47"],"external_ids":["test_cus_ext_id"],"company":"","country":null,"state":null,"city":"","zip":null,"lead_created_at":null,"free_trial_started_at":null,"address":{"country":null,"state":null,"city":"","address_zip":null},"mrr":4348,"arr":52176,"billing-system-url":null,"chartmogul-url":"https://app.chartmogul.com/#customers/22661127-Test_Customer","billing-system-type":"Import
|
39
|
+
API","currency":"USD","currency-sign":"$"}],"current_page":1,"total_pages":1,"has_more":false,"per_page":200,"page":1}'
|
40
|
+
http_version:
|
41
|
+
recorded_at: Mon, 04 Mar 2019 12:51:16 GMT
|
42
|
+
- request:
|
43
|
+
method: get
|
44
|
+
uri: https://api.chartmogul.com/v1/import/customers/cus_b289bb4c-3e6f-11e9-b645-6369759fc9da/subscriptions
|
45
|
+
body:
|
46
|
+
encoding: US-ASCII
|
47
|
+
string: ''
|
48
|
+
headers:
|
49
|
+
User-Agent:
|
50
|
+
- Faraday v0.15.4
|
51
|
+
Content-Type:
|
52
|
+
- application/json
|
53
|
+
Authorization:
|
54
|
+
- Basic Hidden
|
55
|
+
response:
|
56
|
+
status:
|
57
|
+
code: 200
|
58
|
+
message:
|
59
|
+
headers:
|
60
|
+
server:
|
61
|
+
- nginx/1.10.1
|
62
|
+
date:
|
63
|
+
- Mon, 04 Mar 2019 12:51:17 GMT
|
64
|
+
content-type:
|
65
|
+
- application/json; charset=utf-8
|
66
|
+
transfer-encoding:
|
67
|
+
- chunked
|
68
|
+
connection:
|
69
|
+
- keep-alive
|
70
|
+
vary:
|
71
|
+
- Accept-Encoding, Accept-Encoding
|
72
|
+
x-frame-options:
|
73
|
+
- SAMEORIGIN
|
74
|
+
x-xss-protection:
|
75
|
+
- 1; mode=block
|
76
|
+
x-content-type-options:
|
77
|
+
- nosniff
|
78
|
+
etag:
|
79
|
+
- W/"254e64ffb96f23cc2f16356dbd4e8051"
|
80
|
+
cache-control:
|
81
|
+
- max-age=0, private, must-revalidate
|
82
|
+
x-request-id:
|
83
|
+
- '08593034-b32b-4941-aaf0-6fc712762a81'
|
84
|
+
x-runtime:
|
85
|
+
- '0.070115'
|
86
|
+
strict-transport-security:
|
87
|
+
- max-age=15768000
|
88
|
+
body:
|
89
|
+
encoding: ASCII-8BIT
|
90
|
+
string: '{"customer_uuid":"cus_b289bb4c-3e6f-11e9-b645-6369759fc9da","subscriptions":[{"uuid":"sub_c2c97897-f0a0-4448-a035-043d7a19b845","external_id":"test_cus_sub_ext_id","cancellation_dates":["1999-12-31T22:00:00.000Z"],"plan_uuid":"pl_933aefe0-209d-0137-2188-040113b1c101","data_source_uuid":"ds_99d06d30-3e6f-11e9-b645-837bf5404a47"}],"current_page":1,"total_pages":1}'
|
91
|
+
http_version:
|
92
|
+
recorded_at: Mon, 04 Mar 2019 12:51:17 GMT
|
93
|
+
- request:
|
94
|
+
method: patch
|
95
|
+
uri: https://api.chartmogul.com/v1/import/subscriptions/sub_c2c97897-f0a0-4448-a035-043d7a19b845
|
96
|
+
body:
|
97
|
+
encoding: UTF-8
|
98
|
+
string: '{"cancellation_dates":["2000-01-01 00:00:00 +0200"]}'
|
99
|
+
headers:
|
100
|
+
User-Agent:
|
101
|
+
- Faraday v0.15.4
|
102
|
+
Content-Type:
|
103
|
+
- application/json
|
104
|
+
Authorization:
|
105
|
+
- Basic Mjk5ZjAyMjYzMDRkNThhNWZiYzFlNTcwOTdlZGU3Mjk6OWM4NWIwNGFkN2FjNzE2NTUwYTY1NjZhZWYwYzM5ZmU=
|
106
|
+
response:
|
107
|
+
status:
|
108
|
+
code: 202
|
109
|
+
message:
|
110
|
+
headers:
|
111
|
+
server:
|
112
|
+
- nginx/1.10.1
|
113
|
+
date:
|
114
|
+
- Mon, 04 Mar 2019 12:51:17 GMT
|
115
|
+
content-type:
|
116
|
+
- application/json; charset=utf-8
|
117
|
+
transfer-encoding:
|
118
|
+
- chunked
|
119
|
+
connection:
|
120
|
+
- keep-alive
|
121
|
+
x-frame-options:
|
122
|
+
- SAMEORIGIN
|
123
|
+
x-xss-protection:
|
124
|
+
- 1; mode=block
|
125
|
+
x-content-type-options:
|
126
|
+
- nosniff
|
127
|
+
cache-control:
|
128
|
+
- no-cache
|
129
|
+
x-request-id:
|
130
|
+
- 737a7d3a-bac8-4cdc-8d8f-15056faab094
|
131
|
+
x-runtime:
|
132
|
+
- '0.127860'
|
133
|
+
body:
|
134
|
+
encoding: UTF-8
|
135
|
+
string: '{"uuid":"sub_c2c97897-f0a0-4448-a035-043d7a19b845","external_id":"test_cus_sub_ext_id","cancellation_dates":["1999-12-31T22:00:00.000Z"],"customer_uuid":"cus_b289bb4c-3e6f-11e9-b645-6369759fc9da","plan_uuid":"pl_933aefe0-209d-0137-2188-040113b1c101","data_source_uuid":"ds_99d06d30-3e6f-11e9-b645-837bf5404a47"}'
|
136
|
+
http_version:
|
137
|
+
recorded_at: Mon, 04 Mar 2019 12:51:17 GMT
|
138
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,138 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.chartmogul.com/v1/customers?external_id=test_cus_ext_id
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.15.4
|
12
|
+
Content-Type:
|
13
|
+
- application/json
|
14
|
+
Authorization:
|
15
|
+
- Basic Hidden
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message:
|
20
|
+
headers:
|
21
|
+
server:
|
22
|
+
- nginx/1.10.1
|
23
|
+
date:
|
24
|
+
- Mon, 04 Mar 2019 12:51:17 GMT
|
25
|
+
content-type:
|
26
|
+
- application/json
|
27
|
+
content-length:
|
28
|
+
- '889'
|
29
|
+
connection:
|
30
|
+
- keep-alive
|
31
|
+
status:
|
32
|
+
- 200 OK
|
33
|
+
access-control-allow-credentials:
|
34
|
+
- 'true'
|
35
|
+
body:
|
36
|
+
encoding: UTF-8
|
37
|
+
string: '{"entries":[{"id":22661127,"uuid":"cus_b289bb4c-3e6f-11e9-b645-6369759fc9da","external_id":"test_cus_ext_id","name":"Test
|
38
|
+
Customer","email":"","status":"Active","customer-since":"2016-01-01T12:00:00+00:00","attributes":{"custom":{},"clearbit":{},"stripe":{},"tags":[]},"data_source_uuid":"ds_99d06d30-3e6f-11e9-b645-837bf5404a47","data_source_uuids":["ds_99d06d30-3e6f-11e9-b645-837bf5404a47"],"external_ids":["test_cus_ext_id"],"company":"","country":null,"state":null,"city":"","zip":null,"lead_created_at":null,"free_trial_started_at":null,"address":{"country":null,"state":null,"city":"","address_zip":null},"mrr":4348,"arr":52176,"billing-system-url":null,"chartmogul-url":"https://app.chartmogul.com/#customers/22661127-Test_Customer","billing-system-type":"Import
|
39
|
+
API","currency":"USD","currency-sign":"$"}],"current_page":1,"total_pages":1,"has_more":false,"per_page":200,"page":1}'
|
40
|
+
http_version:
|
41
|
+
recorded_at: Mon, 04 Mar 2019 12:51:17 GMT
|
42
|
+
- request:
|
43
|
+
method: get
|
44
|
+
uri: https://api.chartmogul.com/v1/import/customers/cus_b289bb4c-3e6f-11e9-b645-6369759fc9da/subscriptions
|
45
|
+
body:
|
46
|
+
encoding: US-ASCII
|
47
|
+
string: ''
|
48
|
+
headers:
|
49
|
+
User-Agent:
|
50
|
+
- Faraday v0.15.4
|
51
|
+
Content-Type:
|
52
|
+
- application/json
|
53
|
+
Authorization:
|
54
|
+
- Basic Hidden
|
55
|
+
response:
|
56
|
+
status:
|
57
|
+
code: 200
|
58
|
+
message:
|
59
|
+
headers:
|
60
|
+
server:
|
61
|
+
- nginx/1.10.1
|
62
|
+
date:
|
63
|
+
- Mon, 04 Mar 2019 12:51:18 GMT
|
64
|
+
content-type:
|
65
|
+
- application/json; charset=utf-8
|
66
|
+
transfer-encoding:
|
67
|
+
- chunked
|
68
|
+
connection:
|
69
|
+
- keep-alive
|
70
|
+
vary:
|
71
|
+
- Accept-Encoding, Accept-Encoding
|
72
|
+
x-frame-options:
|
73
|
+
- SAMEORIGIN
|
74
|
+
x-xss-protection:
|
75
|
+
- 1; mode=block
|
76
|
+
x-content-type-options:
|
77
|
+
- nosniff
|
78
|
+
etag:
|
79
|
+
- W/"254e64ffb96f23cc2f16356dbd4e8051"
|
80
|
+
cache-control:
|
81
|
+
- max-age=0, private, must-revalidate
|
82
|
+
x-request-id:
|
83
|
+
- feb37862-a362-4a35-898b-58677e08f554
|
84
|
+
x-runtime:
|
85
|
+
- '0.061015'
|
86
|
+
strict-transport-security:
|
87
|
+
- max-age=15768000
|
88
|
+
body:
|
89
|
+
encoding: ASCII-8BIT
|
90
|
+
string: '{"customer_uuid":"cus_b289bb4c-3e6f-11e9-b645-6369759fc9da","subscriptions":[{"uuid":"sub_c2c97897-f0a0-4448-a035-043d7a19b845","external_id":"test_cus_sub_ext_id","cancellation_dates":["1999-12-31T22:00:00.000Z"],"plan_uuid":"pl_933aefe0-209d-0137-2188-040113b1c101","data_source_uuid":"ds_99d06d30-3e6f-11e9-b645-837bf5404a47"}],"current_page":1,"total_pages":1}'
|
91
|
+
http_version:
|
92
|
+
recorded_at: Mon, 04 Mar 2019 12:51:18 GMT
|
93
|
+
- request:
|
94
|
+
method: patch
|
95
|
+
uri: https://api.chartmogul.com/v1/import/subscriptions/sub_c2c97897-f0a0-4448-a035-043d7a19b845
|
96
|
+
body:
|
97
|
+
encoding: UTF-8
|
98
|
+
string: '{"cancellation_dates":[]}'
|
99
|
+
headers:
|
100
|
+
User-Agent:
|
101
|
+
- Faraday v0.15.4
|
102
|
+
Content-Type:
|
103
|
+
- application/json
|
104
|
+
Authorization:
|
105
|
+
- Basic Mjk5ZjAyMjYzMDRkNThhNWZiYzFlNTcwOTdlZGU3Mjk6OWM4NWIwNGFkN2FjNzE2NTUwYTY1NjZhZWYwYzM5ZmU=
|
106
|
+
response:
|
107
|
+
status:
|
108
|
+
code: 202
|
109
|
+
message:
|
110
|
+
headers:
|
111
|
+
server:
|
112
|
+
- nginx/1.10.1
|
113
|
+
date:
|
114
|
+
- Mon, 04 Mar 2019 12:51:18 GMT
|
115
|
+
content-type:
|
116
|
+
- application/json; charset=utf-8
|
117
|
+
transfer-encoding:
|
118
|
+
- chunked
|
119
|
+
connection:
|
120
|
+
- keep-alive
|
121
|
+
x-frame-options:
|
122
|
+
- SAMEORIGIN
|
123
|
+
x-xss-protection:
|
124
|
+
- 1; mode=block
|
125
|
+
x-content-type-options:
|
126
|
+
- nosniff
|
127
|
+
cache-control:
|
128
|
+
- no-cache
|
129
|
+
x-request-id:
|
130
|
+
- 76ef1912-9ef8-4bc7-b56f-4e09e230be06
|
131
|
+
x-runtime:
|
132
|
+
- '0.135980'
|
133
|
+
body:
|
134
|
+
encoding: UTF-8
|
135
|
+
string: '{"uuid":"sub_c2c97897-f0a0-4448-a035-043d7a19b845","external_id":"test_cus_sub_ext_id","cancellation_dates":[],"customer_uuid":"cus_b289bb4c-3e6f-11e9-b645-6369759fc9da","plan_uuid":"pl_933aefe0-209d-0137-2188-040113b1c101","data_source_uuid":"ds_99d06d30-3e6f-11e9-b645-837bf5404a47"}'
|
136
|
+
http_version:
|
137
|
+
recorded_at: Mon, 04 Mar 2019 12:51:18 GMT
|
138
|
+
recorded_with: VCR 3.0.3
|
@@ -13,10 +13,9 @@ module ChartMogul
|
|
13
13
|
|
14
14
|
include API::Actions::Custom
|
15
15
|
|
16
|
-
def
|
17
|
-
|
18
|
-
|
19
|
-
end
|
16
|
+
def update_cancellation_dates(cancellation_dates_array)
|
17
|
+
cancellation_dates = parse_dates(cancellation_dates_array)
|
18
|
+
custom!(:patch, "/v1/import/subscriptions/#{uuid}", cancellation_dates: cancellation_dates)
|
20
19
|
end
|
21
20
|
|
22
21
|
def cancel(cancelled_at)
|
@@ -31,6 +30,16 @@ module ChartMogul
|
|
31
30
|
def self.all(customer_uuid, options = {})
|
32
31
|
Subscriptions.all(customer_uuid, options)
|
33
32
|
end
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
def set_cancellation_dates(cancellation_dates_array)
|
37
|
+
@cancellation_dates = parse_dates(cancellation_dates_array)
|
38
|
+
end
|
39
|
+
|
40
|
+
def parse_dates(dates)
|
41
|
+
dates.map { |date| Time.parse(date.to_s) }
|
42
|
+
end
|
34
43
|
end
|
35
44
|
|
36
45
|
class Subscriptions < APIResource
|
data/lib/chartmogul/version.rb
CHANGED
data/pre-commit.example
ADDED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chartmogul-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jason Langenauer
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-03-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 2.0.1
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 2.0.1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,6 +114,20 @@ dependencies:
|
|
114
114
|
- - ">="
|
115
115
|
- !ruby/object:Gem::Version
|
116
116
|
version: 3.4.2
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
name: simplecov
|
119
|
+
requirement: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - "~>"
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: 0.16.0
|
124
|
+
type: :development
|
125
|
+
prerelease: false
|
126
|
+
version_requirements: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - "~>"
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: 0.16.0
|
117
131
|
description: Official Ruby client for ChartMogul's API
|
118
132
|
email:
|
119
133
|
- jason@chartmogul.com
|
@@ -191,6 +205,10 @@ files:
|
|
191
205
|
- fixtures/vcr_cassettes/ChartMogul_Subscription/API_Interactions/connects_subscriptions.yml
|
192
206
|
- fixtures/vcr_cassettes/ChartMogul_Subscription/API_Interactions/correctly_interracts_with_the_API.yml
|
193
207
|
- fixtures/vcr_cassettes/ChartMogul_Subscription/API_Interactions/has_multiple_aliases.yml
|
208
|
+
- fixtures/vcr_cassettes/ChartMogul_Subscription/_update_cancellation_dates/when_array_has_time_objects/is_setting_the_cancellation_dates_of_the_subscription.yml
|
209
|
+
- fixtures/vcr_cassettes/ChartMogul_Subscription/_update_cancellation_dates/when_array_includes_invalid_entries/raises_an_exception.yml
|
210
|
+
- fixtures/vcr_cassettes/ChartMogul_Subscription/_update_cancellation_dates/when_array_includes_valid_entries/is_setting_the_cancellation_dates_of_the_subscription.yml
|
211
|
+
- fixtures/vcr_cassettes/ChartMogul_Subscription/_update_cancellation_dates/when_array_is_empty/makes_an_API_call_and_removes_the_cancellation_dates.yml
|
194
212
|
- fixtures/vcr_cassettes/ChartMogul_Transactions_Payment/API_Interactions/correctly_interracts_with_the_API.yml
|
195
213
|
- lib/chartmogul.rb
|
196
214
|
- lib/chartmogul/api/actions/all.rb
|
@@ -243,6 +261,7 @@ files:
|
|
243
261
|
- lib/chartmogul/utils/hash_snake_caser.rb
|
244
262
|
- lib/chartmogul/utils/json_parser.rb
|
245
263
|
- lib/chartmogul/version.rb
|
264
|
+
- pre-commit.example
|
246
265
|
homepage: https://github.com/chartmogul/chartmogul-ruby
|
247
266
|
licenses:
|
248
267
|
- MIT
|