chartmogul-ruby 0.1.3 → 0.1.4

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: f986182b84e6942024d7ef0b17905f2db34d184a
4
- data.tar.gz: 8efc977cc76df3539e1cfa850679ba5d6310efa5
3
+ metadata.gz: ac53d485cbc90316aea9203f60009924910ebf75
4
+ data.tar.gz: dd519a0580ca04fe3062a563ae1438b2b1e1e4b7
5
5
  SHA512:
6
- metadata.gz: 119d70c2265f270b1f2039b93c9fe49afad470a4652962bae91276f3c4bc1ae926c787730b6979500ca1e924b185a51791ef49df1d1b2156067c2d553198d487
7
- data.tar.gz: db4de77c873a42d5f26976016e610ce22c454f17ce2f65d4a8b1d7a16f61391013d7b521bf6750126ca859a324de5a6633db53206a2328c4783c956e5b4b14f0
6
+ metadata.gz: 93e2005d1b3b1ba51c7144f9aa09212313131f9cd30bab06dd5fa9df743e0cdac9e07d195903e840873fa6b05c63c6903a15b8db98bf97d07726df874f189b9d
7
+ data.tar.gz: 7f7ef08917f59d0e940c2141b1eda1e1d8b24485660dd0438e579c0f5d2e6680525faa6a8fffadaa4667f7e504e2d20109d8c73ddf5412088b3e06065d557bd1
data/changelog.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # chartmogul-ruby Change Log
2
2
 
3
+ ## Version 0.1.4 - 10 November 2016
4
+ - Add support for merging customers
5
+ - Add support for updating customers
6
+
3
7
  ## Version 0.1.3 - 8 November 2016
4
8
  - Add support for lead_created_at and free_trial_started_at fields to work with Leads and Trials charts
5
9
 
@@ -0,0 +1,185 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.chartmogul.com/v1/customers/cus_35da5436-a730-11e6-a5a0-d32f2a781b50
6
+ body:
7
+ encoding: UTF-8
8
+ string: "{}"
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.2
12
+ Content-Type:
13
+ - application/json
14
+ Authorization:
15
+ - Basic MDFiNzI2YzI0ZjNiYjhlOTc0MmEwNGZiMDhhZmE3NzQ6NzJlNGMxYTdlZTFiYzlkNGZjMDBlZWUwNWIyN2QzMGY=
16
+ response:
17
+ status:
18
+ code: 200
19
+ message:
20
+ headers:
21
+ server:
22
+ - nginx/1.10.1
23
+ date:
24
+ - Thu, 10 Nov 2016 10:32:07 GMT
25
+ content-type:
26
+ - application/json
27
+ content-length:
28
+ - '496'
29
+ connection:
30
+ - close
31
+ status:
32
+ - 200 OK
33
+ access-control-allow-credentials:
34
+ - 'true'
35
+ body:
36
+ encoding: UTF-8
37
+ string: '{"id":6474477,"uuid":"cus_35da5436-a730-11e6-a5a0-d32f2a781b50","external_id":"8b5b6aff-ca49-4079-9273-1268a64ac462","name":"from@merge.com","email":"from@merge.com","status":"Lead","customer-since":null,"attributes":{"tags":[]},"address":{"country":"Comoros","state":null,"city":null,"address_zip":null},"mrr":0,"arr":0,"billing-system-url":null,"chartmogul-url":"https://app.chartmogul.com/#customers/6474477-from_merge_com","billing-system-type":"Manual","currency":"UGX","currency-sign":null}'
38
+ http_version:
39
+ recorded_at: Thu, 10 Nov 2016 10:32:07 GMT
40
+ - request:
41
+ method: get
42
+ uri: https://api.chartmogul.com/v1/customers/cus_fc5451ee-a72f-11e6-9019-3b1a0ecf3c73
43
+ body:
44
+ encoding: UTF-8
45
+ string: "{}"
46
+ headers:
47
+ User-Agent:
48
+ - Faraday v0.9.2
49
+ Content-Type:
50
+ - application/json
51
+ Authorization:
52
+ - Basic MDFiNzI2YzI0ZjNiYjhlOTc0MmEwNGZiMDhhZmE3NzQ6NzJlNGMxYTdlZTFiYzlkNGZjMDBlZWUwNWIyN2QzMGY=
53
+ response:
54
+ status:
55
+ code: 200
56
+ message:
57
+ headers:
58
+ server:
59
+ - nginx/1.10.1
60
+ date:
61
+ - Thu, 10 Nov 2016 10:32:07 GMT
62
+ content-type:
63
+ - application/json
64
+ content-length:
65
+ - '495'
66
+ connection:
67
+ - close
68
+ status:
69
+ - 200 OK
70
+ access-control-allow-credentials:
71
+ - 'true'
72
+ body:
73
+ encoding: UTF-8
74
+ string: '{"id":6474475,"uuid":"cus_fc5451ee-a72f-11e6-9019-3b1a0ecf3c73","external_id":"7ea39c1b-2286-4cb7-b1c8-9a63e8358875","name":"into@merge.com","email":"into@merge.com","status":"Lead","customer-since":null,"attributes":{"tags":[]},"address":{"country":"Angola","state":null,"city":null,"address_zip":null},"mrr":0,"arr":0,"billing-system-url":null,"chartmogul-url":"https://app.chartmogul.com/#customers/6474475-into_merge_com","billing-system-type":"Manual","currency":"UGX","currency-sign":null}'
75
+ http_version:
76
+ recorded_at: Thu, 10 Nov 2016 10:32:07 GMT
77
+ - request:
78
+ method: post
79
+ uri: https://api.chartmogul.com/v1/customers/merges
80
+ body:
81
+ encoding: UTF-8
82
+ string: '{"from":{"customer_uuid":"cus_35da5436-a730-11e6-a5a0-d32f2a781b50"},"into":{"customer_uuid":"cus_fc5451ee-a72f-11e6-9019-3b1a0ecf3c73"}}'
83
+ headers:
84
+ User-Agent:
85
+ - Faraday v0.9.2
86
+ Content-Type:
87
+ - application/json
88
+ Authorization:
89
+ - Basic MDFiNzI2YzI0ZjNiYjhlOTc0MmEwNGZiMDhhZmE3NzQ6NzJlNGMxYTdlZTFiYzlkNGZjMDBlZWUwNWIyN2QzMGY=
90
+ response:
91
+ status:
92
+ code: 202
93
+ message:
94
+ headers:
95
+ server:
96
+ - nginx/1.10.1
97
+ date:
98
+ - Thu, 10 Nov 2016 10:32:07 GMT
99
+ content-type:
100
+ - application/json
101
+ content-length:
102
+ - '2'
103
+ connection:
104
+ - close
105
+ status:
106
+ - 202 Accepted
107
+ body:
108
+ encoding: UTF-8
109
+ string: "{}"
110
+ http_version:
111
+ recorded_at: Thu, 10 Nov 2016 10:32:07 GMT
112
+ - request:
113
+ method: get
114
+ uri: https://api.chartmogul.com/v1/customers/cus_35da5436-a730-11e6-a5a0-d32f2a781b50
115
+ body:
116
+ encoding: UTF-8
117
+ string: "{}"
118
+ headers:
119
+ User-Agent:
120
+ - Faraday v0.9.2
121
+ Content-Type:
122
+ - application/json
123
+ Authorization:
124
+ - Basic MDFiNzI2YzI0ZjNiYjhlOTc0MmEwNGZiMDhhZmE3NzQ6NzJlNGMxYTdlZTFiYzlkNGZjMDBlZWUwNWIyN2QzMGY=
125
+ response:
126
+ status:
127
+ code: 404
128
+ message:
129
+ headers:
130
+ server:
131
+ - nginx/1.10.1
132
+ date:
133
+ - Thu, 10 Nov 2016 10:37:08 GMT
134
+ content-type:
135
+ - application/json
136
+ content-length:
137
+ - '111'
138
+ connection:
139
+ - close
140
+ status:
141
+ - 404 Not Found
142
+ body:
143
+ encoding: UTF-8
144
+ string: '{"code":404,"message":"Customer \"35da5436-a730-11e6-a5a0-d32f2a781b50\"
145
+ does not exist","param":"customer_id"}'
146
+ http_version:
147
+ recorded_at: Thu, 10 Nov 2016 10:37:08 GMT
148
+ - request:
149
+ method: get
150
+ uri: https://api.chartmogul.com/v1/customers/cus_fc5451ee-a72f-11e6-9019-3b1a0ecf3c73
151
+ body:
152
+ encoding: UTF-8
153
+ string: "{}"
154
+ headers:
155
+ User-Agent:
156
+ - Faraday v0.9.2
157
+ Content-Type:
158
+ - application/json
159
+ Authorization:
160
+ - Basic MDFiNzI2YzI0ZjNiYjhlOTc0MmEwNGZiMDhhZmE3NzQ6NzJlNGMxYTdlZTFiYzlkNGZjMDBlZWUwNWIyN2QzMGY=
161
+ response:
162
+ status:
163
+ code: 200
164
+ message:
165
+ headers:
166
+ server:
167
+ - nginx/1.10.1
168
+ date:
169
+ - Thu, 10 Nov 2016 10:45:35 GMT
170
+ content-type:
171
+ - application/json
172
+ content-length:
173
+ - '512'
174
+ connection:
175
+ - close
176
+ status:
177
+ - 200 OK
178
+ access-control-allow-credentials:
179
+ - 'true'
180
+ body:
181
+ encoding: UTF-8
182
+ string: '{"id":6474475,"uuid":"cus_fc5451ee-a72f-11e6-9019-3b1a0ecf3c73","external_id":"7ea39c1b-2286-4cb7-b1c8-9a63e8358875","name":"into@merge.com","email":"into@merge.com","status":"Lead","customer-since":null,"attributes":{"tags":["merged-customer"]},"address":{"country":"Angola","state":null,"city":null,"address_zip":null},"mrr":0,"arr":0,"billing-system-url":null,"chartmogul-url":"https://app.chartmogul.com/#customers/6474475-into_merge_com","billing-system-type":"Manual","currency":"UGX","currency-sign":null}'
183
+ http_version:
184
+ recorded_at: Thu, 10 Nov 2016 10:45:35 GMT
185
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,86 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.chartmogul.com/v1/customers/cus_782b0716-a728-11e6-8eab-a7d0e8cd5c1e
6
+ body:
7
+ encoding: UTF-8
8
+ string: "{}"
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.2
12
+ Content-Type:
13
+ - application/json
14
+ Authorization:
15
+ - Basic MDFiNzI2YzI0ZjNiYjhlOTc0MmEwNGZiMDhhZmE3NzQ6NzJlNGMxYTdlZTFiYzlkNGZjMDBlZWUwNWIyN2QzMGY=
16
+ response:
17
+ status:
18
+ code: 200
19
+ message:
20
+ headers:
21
+ server:
22
+ - nginx/1.10.1
23
+ date:
24
+ - Thu, 10 Nov 2016 14:35:00 GMT
25
+ content-type:
26
+ - application/json
27
+ content-length:
28
+ - '1104'
29
+ connection:
30
+ - close
31
+ vary:
32
+ - Accept-Encoding
33
+ status:
34
+ - 200 OK
35
+ access-control-allow-credentials:
36
+ - 'true'
37
+ body:
38
+ encoding: UTF-8
39
+ string: '{"id":6474391,"uuid":"cus_782b0716-a728-11e6-8eab-a7d0e8cd5c1e","external_id":"14c58821-ad87-467d-956f-95f35f2cdd3d","name":"Currywurst","email":"curry@wurst.com","status":"Lead","customer-since":null,"attributes":{"tags":["wurst"],"clearbit":{"company":{"category":{"industry":"Commercial
40
+ Services \u0026 Supplies","industryGroup":"Commercial \u0026 Professional
41
+ Services","sector":"Industrials","subIndustry":"Corporate \u0026 Business"},"geo":{"city":"Lakewood","country":"United
42
+ States","postalCode":"80228","state":"Colorado","streetName":"South Union
43
+ Boulevard","streetNumber":"165","subPremise":"260"},"metrics":{"alexaGlobalRank":3418524,"alexaUsRank":793393},"name":"CCG","timeZone":"America/Denver","twitter":{"followers":1449,"handle":"CustomerProfit"},"type":"private","utcOffset":-7}},"custom":{"meinung":["lecker"]}},"address":{"country":"Germany","state":"New
44
+ York","city":"Berlin","address_zip":null},"mrr":0,"arr":0,"billing-system-url":null,"chartmogul-url":"https://app.chartmogul.com/#customers/6474391-Currywurst","billing-system-type":"Manual","currency":"UGX","currency-sign":null}'
45
+ http_version:
46
+ recorded_at: Thu, 10 Nov 2016 14:35:00 GMT
47
+ - request:
48
+ method: patch
49
+ uri: https://api.chartmogul.com/v1/customers/cus_782b0716-a728-11e6-8eab-a7d0e8cd5c1e
50
+ body:
51
+ encoding: UTF-8
52
+ string: '{"name":"Currywurst","email":"schnitzel.com","attributes":{"tags":["wurst"],"clearbit":{"company":{"category":{"industry":"Commercial
53
+ Services & Supplies","industry_group":"Commercial & Professional Services","sector":"Industrials","sub_industry":"Corporate
54
+ & Business"},"geo":{"city":"Lakewood","country":"United States","postal_code":"80228","state":"Colorado","street_name":"South
55
+ Union Boulevard","street_number":"165","sub_premise":"260"},"metrics":{"alexa_global_rank":3418524,"alexa_us_rank":793393},"name":"CCG","time_zone":"America/Denver","twitter":{"followers":1449,"handle":"CustomerProfit"},"type":"private","utc_offset":-7}},"custom":{"meinung":["lecker"]}}}'
56
+ headers:
57
+ User-Agent:
58
+ - Faraday v0.9.2
59
+ Content-Type:
60
+ - application/json
61
+ Authorization:
62
+ - Basic eGdKZWFVUDNhY3lCV1NIQkxuVmFHdzplMTdiMGY5ZTkyMmZiNjJlOTI0YmNhYTcwYmUyOTBmOQ==
63
+ response:
64
+ status:
65
+ code: 422
66
+ message:
67
+ headers:
68
+ server:
69
+ - nginx/1.10.1
70
+ date:
71
+ - Thu, 10 Nov 2016 14:35:00 GMT
72
+ content-type:
73
+ - application/json
74
+ content-length:
75
+ - '104'
76
+ connection:
77
+ - close
78
+ status:
79
+ - 422 Unprocessable Entity
80
+ body:
81
+ encoding: UTF-8
82
+ string: '{"code":422,"message":"The value provided does not appear to be a valid
83
+ email address.","param":"email"}'
84
+ http_version:
85
+ recorded_at: Thu, 10 Nov 2016 14:35:00 GMT
86
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,139 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.chartmogul.com/v1/customers/cus_782b0716-a728-11e6-8eab-a7d0e8cd5c1e
6
+ body:
7
+ encoding: UTF-8
8
+ string: "{}"
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.2
12
+ Content-Type:
13
+ - application/json
14
+ Authorization:
15
+ - Basic MDFiNzI2YzI0ZjNiYjhlOTc0MmEwNGZiMDhhZmE3NzQ6NzJlNGMxYTdlZTFiYzlkNGZjMDBlZWUwNWIyN2QzMGY=
16
+ response:
17
+ status:
18
+ code: 200
19
+ message:
20
+ headers:
21
+ server:
22
+ - nginx/1.10.1
23
+ date:
24
+ - Thu, 10 Nov 2016 12:35:59 GMT
25
+ content-type:
26
+ - application/json
27
+ content-length:
28
+ - '1069'
29
+ connection:
30
+ - close
31
+ vary:
32
+ - Accept-Encoding
33
+ status:
34
+ - 200 OK
35
+ access-control-allow-credentials:
36
+ - 'true'
37
+ body:
38
+ encoding: UTF-8
39
+ string: '{"id":6474391,"uuid":"cus_782b0716-a728-11e6-8eab-a7d0e8cd5c1e","external_id":"14c58821-ad87-467d-956f-95f35f2cdd3d","name":"Update
40
+ Customer","email":"update@customer.com","status":"Lead","customer-since":null,"attributes":{"tags":[],"clearbit":{"company":{"category":{"industry":"Commercial
41
+ Services \u0026 Supplies","industryGroup":"Commercial \u0026 Professional
42
+ Services","sector":"Industrials","subIndustry":"Corporate \u0026 Business"},"geo":{"city":"Lakewood","country":"United
43
+ States","postalCode":"80228","state":"Colorado","streetName":"South Union
44
+ Boulevard","streetNumber":"165","subPremise":"260"},"metrics":{"alexaGlobalRank":3418524,"alexaUsRank":793393},"name":"CCG","timeZone":"America/Denver","twitter":{"followers":1449,"handle":"CustomerProfit"},"type":"private","utcOffset":-7}}},"address":{"country":"Armenia","state":null,"city":null,"address_zip":null},"mrr":0,"arr":0,"billing-system-url":null,"chartmogul-url":"https://app.chartmogul.com/#customers/6474391-Update_Customer","billing-system-type":"Manual","currency":"UGX","currency-sign":null}'
45
+ http_version:
46
+ recorded_at: Thu, 10 Nov 2016 12:36:00 GMT
47
+ - request:
48
+ method: patch
49
+ uri: https://api.chartmogul.com/v1/customers/cus_782b0716-a728-11e6-8eab-a7d0e8cd5c1e
50
+ body:
51
+ encoding: UTF-8
52
+ string: '{"name":"Currywurst","email":"curry@wurst.com","company":"Curry 36","country":"DE","state":"NY","city":"Berlin","lead_created_at":"2016-01-01
53
+ 14:30:00 UTC","free_trial_started_at":"2016-02-02 22:40:00 UTC","attributes":{"tags":["wurst"],"clearbit":{"company":{"category":{"industry":"Commercial
54
+ Services & Supplies","industry_group":"Commercial & Professional Services","sector":"Industrials","sub_industry":"Corporate
55
+ & Business"},"geo":{"city":"Lakewood","country":"United States","postal_code":"80228","state":"Colorado","street_name":"South
56
+ Union Boulevard","street_number":"165","sub_premise":"260"},"metrics":{"alexa_global_rank":3418524,"alexa_us_rank":793393},"name":"CCG","time_zone":"America/Denver","twitter":{"followers":1449,"handle":"CustomerProfit"},"type":"private","utc_offset":-7}},"custom":{"meinung":["lecker"]}}}'
57
+ headers:
58
+ User-Agent:
59
+ - Faraday v0.9.2
60
+ Content-Type:
61
+ - application/json
62
+ Authorization:
63
+ - Basic MDFiNzI2YzI0ZjNiYjhlOTc0MmEwNGZiMDhhZmE3NzQ6NzJlNGMxYTdlZTFiYzlkNGZjMDBlZWUwNWIyN2QzMGY=
64
+ response:
65
+ status:
66
+ code: 200
67
+ message:
68
+ headers:
69
+ server:
70
+ - nginx/1.10.1
71
+ date:
72
+ - Thu, 10 Nov 2016 12:36:00 GMT
73
+ content-type:
74
+ - application/json
75
+ content-length:
76
+ - '1354'
77
+ connection:
78
+ - close
79
+ vary:
80
+ - Accept-Encoding
81
+ status:
82
+ - 200 OK
83
+ access-control-allow-credentials:
84
+ - 'true'
85
+ body:
86
+ encoding: UTF-8
87
+ string: '{"id":6474391,"uuid":"cus_782b0716-a728-11e6-8eab-a7d0e8cd5c1e","external_id":"14c58821-ad87-467d-956f-95f35f2cdd3d","name":"Currywurst","email":"curry@wurst.com","status":"Lead","customer-since":null,"attributes":{"custom":{"meinung":["lecker"]},"clearbit":{"company":{"category":{"industry":"Commercial
88
+ Services & Supplies","industryGroup":"Commercial & Professional Services","sector":"Industrials","subIndustry":"Corporate
89
+ & Business"},"geo":{"city":"Lakewood","country":"United States","postalCode":"80228","state":"Colorado","streetName":"South
90
+ Union Boulevard","streetNumber":"165","subPremise":"260"},"metrics":{"alexaGlobalRank":3418524,"alexaUsRank":793393},"name":"CCG","timeZone":"America/Denver","twitter":{"followers":1449,"handle":"CustomerProfit"},"type":"private","utcOffset":-7}},"stripe":{},"tags":["wurst"]},"company":"Curry
91
+ 36","country":"DE","state":"NY","city":"Berlin","zip":null,"lead_created_at":"2016-01-01T14:30:00.000Z","free_trial_started_at":"2016-02-02T22:40:00.000Z","address":{"country":"DE","state":"New
92
+ York","city":"Berlin","address_zip":null},"mrr":0,"arr":0,"chartmogul-url":"https://app.chartmogul.com/#customers/6474391-Currywurst","data_source_uuid":"ds_5ef7f768-62ea-11e6-8299-5bf2ca7f76bb","data_source_uuids":["ds_5ef7f768-62ea-11e6-8299-5bf2ca7f76bb"],"external_ids":["14c58821-ad87-467d-956f-95f35f2cdd3d"]}'
93
+ http_version:
94
+ recorded_at: Thu, 10 Nov 2016 12:36:00 GMT
95
+ - request:
96
+ method: get
97
+ uri: https://api.chartmogul.com/v1/customers/cus_782b0716-a728-11e6-8eab-a7d0e8cd5c1e
98
+ body:
99
+ encoding: UTF-8
100
+ string: "{}"
101
+ headers:
102
+ User-Agent:
103
+ - Faraday v0.9.2
104
+ Content-Type:
105
+ - application/json
106
+ Authorization:
107
+ - Basic MDFiNzI2YzI0ZjNiYjhlOTc0MmEwNGZiMDhhZmE3NzQ6NzJlNGMxYTdlZTFiYzlkNGZjMDBlZWUwNWIyN2QzMGY=
108
+ response:
109
+ status:
110
+ code: 200
111
+ message:
112
+ headers:
113
+ server:
114
+ - nginx/1.10.1
115
+ date:
116
+ - Thu, 10 Nov 2016 12:36:00 GMT
117
+ content-type:
118
+ - application/json
119
+ content-length:
120
+ - '1104'
121
+ connection:
122
+ - close
123
+ vary:
124
+ - Accept-Encoding
125
+ status:
126
+ - 200 OK
127
+ access-control-allow-credentials:
128
+ - 'true'
129
+ body:
130
+ encoding: UTF-8
131
+ string: '{"id":6474391,"uuid":"cus_782b0716-a728-11e6-8eab-a7d0e8cd5c1e","external_id":"14c58821-ad87-467d-956f-95f35f2cdd3d","name":"Currywurst","email":"curry@wurst.com","status":"Lead","customer-since":null,"attributes":{"tags":["wurst"],"clearbit":{"company":{"category":{"industry":"Commercial
132
+ Services \u0026 Supplies","industryGroup":"Commercial \u0026 Professional
133
+ Services","sector":"Industrials","subIndustry":"Corporate \u0026 Business"},"geo":{"city":"Lakewood","country":"United
134
+ States","postalCode":"80228","state":"Colorado","streetName":"South Union
135
+ Boulevard","streetNumber":"165","subPremise":"260"},"metrics":{"alexaGlobalRank":3418524,"alexaUsRank":793393},"name":"CCG","timeZone":"America/Denver","twitter":{"followers":1449,"handle":"CustomerProfit"},"type":"private","utcOffset":-7}},"custom":{"meinung":["lecker"]}},"address":{"country":"Germany","state":"New
136
+ York","city":"Berlin","address_zip":null},"mrr":0,"arr":0,"billing-system-url":null,"chartmogul-url":"https://app.chartmogul.com/#customers/6474391-Currywurst","billing-system-type":"Manual","currency":"UGX","currency-sign":null}'
137
+ http_version:
138
+ recorded_at: Thu, 10 Nov 2016 12:36:00 GMT
139
+ recorded_with: VCR 3.0.3
@@ -27,7 +27,7 @@ module ChartMogul
27
27
  end
28
28
 
29
29
  def custom!(http_method, http_path, body_data = {})
30
- json = custom_without_assign!(http_method, http_path, body_data = {})
30
+ json = custom_without_assign!(http_method, http_path, body_data)
31
31
 
32
32
  if resource_root_key && json.key?(resource_root_key)
33
33
  json[resource_root_key].map { |attributes| new_from_json(attributes) }
@@ -2,15 +2,13 @@ module ChartMogul
2
2
  module Enrichment
3
3
  class Customer < APIResource
4
4
  set_resource_name 'Customer'
5
+ set_resource_path '/v1/customers'
5
6
 
6
7
  readonly_attr :id
7
8
  readonly_attr :uuid
8
9
  readonly_attr :external_id
9
- readonly_attr :name
10
- readonly_attr :email
11
10
  readonly_attr :status
12
11
  readonly_attr :customer_since, type: :time
13
- readonly_attr :attributes
14
12
  readonly_attr :address
15
13
  readonly_attr :mrr
16
14
  readonly_attr :arr
@@ -20,7 +18,18 @@ module ChartMogul
20
18
  readonly_attr :currency
21
19
  readonly_attr :currency_sign
22
20
 
21
+ writeable_attr :name
22
+ writeable_attr :email
23
+ writeable_attr :company
24
+ writeable_attr :country
25
+ writeable_attr :state
26
+ writeable_attr :city
27
+ writeable_attr :lead_created_at
28
+ writeable_attr :free_trial_started_at
29
+ writeable_attr :attributes
30
+
23
31
  include API::Actions::Custom
32
+ include API::Actions::Update
24
33
 
25
34
  def tags
26
35
  @attributes[:tags]
@@ -60,6 +69,15 @@ module ChartMogul
60
69
  custom: custom_attrs)[:custom]
61
70
  end
62
71
 
72
+ def merge_into!(other_customer)
73
+ options = {
74
+ from: { customer_uuid: uuid },
75
+ into: { customer_uuid: other_customer.uuid }
76
+ }
77
+ custom!(:post, '/v1/customers/merges', options)
78
+ true
79
+ end
80
+
63
81
  def self.retrieve(uuid)
64
82
  custom!(:get, "/v1/customers/#{uuid}")
65
83
  end
@@ -1,3 +1,3 @@
1
1
  module ChartMogul
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
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: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Langenauer
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-11-08 00:00:00.000000000 Z
11
+ date: 2016-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -117,13 +117,16 @@ files:
117
117
  - fixtures/vcr_cassettes/ChartMogul_DataSource/API_Interactions/correctly_raises_errors_on_422.yml
118
118
  - fixtures/vcr_cassettes/ChartMogul_Enrichment_Customer/API_Interactions/adds_custom_attributes.yml
119
119
  - fixtures/vcr_cassettes/ChartMogul_Enrichment_Customer/API_Interactions/adds_required_tags.yml
120
+ - fixtures/vcr_cassettes/ChartMogul_Enrichment_Customer/API_Interactions/merges_customers.yml
120
121
  - fixtures/vcr_cassettes/ChartMogul_Enrichment_Customer/API_Interactions/raises_404_if_no_customers_found.yml
122
+ - fixtures/vcr_cassettes/ChartMogul_Enrichment_Customer/API_Interactions/raises_422_for_update_with_invalid_data.yml
121
123
  - fixtures/vcr_cassettes/ChartMogul_Enrichment_Customer/API_Interactions/removes_custom_attributes.yml
122
124
  - fixtures/vcr_cassettes/ChartMogul_Enrichment_Customer/API_Interactions/removes_tags.yml
123
125
  - fixtures/vcr_cassettes/ChartMogul_Enrichment_Customer/API_Interactions/returns_all_customers_through_list_all_endpoint.yml
124
126
  - fixtures/vcr_cassettes/ChartMogul_Enrichment_Customer/API_Interactions/returns_customer_through_retrieve_endpoint.yml
125
127
  - fixtures/vcr_cassettes/ChartMogul_Enrichment_Customer/API_Interactions/returns_right_customers_through_search_endpoint.yml
126
128
  - fixtures/vcr_cassettes/ChartMogul_Enrichment_Customer/API_Interactions/updates_custom_attributes.yml
129
+ - fixtures/vcr_cassettes/ChartMogul_Enrichment_Customer/API_Interactions/updates_customer.yml
127
130
  - fixtures/vcr_cassettes/ChartMogul_Import_Customer/API_Interactions/correctly_handles_a_422_response.yml
128
131
  - fixtures/vcr_cassettes/ChartMogul_Import_Customer/API_Interactions/correctly_interracts_with_the_API.yml
129
132
  - fixtures/vcr_cassettes/ChartMogul_Import_Customer/_find_by_external_id/when_external_id_is_provided/returns_matching_user_if_exists.yml