mailchimp3 1.2.0 → 1.4.0
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 +5 -5
- data/lib/mailchimp3/endpoint.rb +12 -1
- data/lib/mailchimp3/version.rb +1 -1
- data/spec/mailchimp3/endpoint_spec.rb +44 -0
- metadata +13 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: d4384d48096f975c34151d557e5bd7a35dcc2d346a4320c6cd5a00537562d0e8
|
4
|
+
data.tar.gz: 9e9f15e7e4557be4ee1f838e9970685e919fffe471784ff4b344883d52c046ef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7f3b3ef343cf148466b722002c4687afb3e2a913ec608bd9cb081314eecc7f0e8125daf294868160a5135bbbc67bfebe85c99fc5cfe847ce633907f422aa7317
|
7
|
+
data.tar.gz: 848bce52776ccad5e21c4075c3927a73d70986a16694bbf13c2acbd23ec1ffb5119e47b2299be0275652783f5019a7571c7b7d774b1a7910e8037c92dcb8cfd6
|
data/lib/mailchimp3/endpoint.rb
CHANGED
@@ -34,7 +34,11 @@ module MailChimp3
|
|
34
34
|
body[:apikey] = @oauth_access_token || @basic_auth_key if @version == 2
|
35
35
|
req.body = body.to_json
|
36
36
|
end
|
37
|
-
|
37
|
+
if @last_result.status == 204
|
38
|
+
true
|
39
|
+
else
|
40
|
+
_build_response(@last_result)
|
41
|
+
end
|
38
42
|
end
|
39
43
|
|
40
44
|
def patch(body = {})
|
@@ -44,6 +48,13 @@ module MailChimp3
|
|
44
48
|
_build_response(@last_result)
|
45
49
|
end
|
46
50
|
|
51
|
+
def put(body = {})
|
52
|
+
@last_result = _connection.put(@url) do |req|
|
53
|
+
req.body = body.to_json
|
54
|
+
end
|
55
|
+
_build_response(@last_result)
|
56
|
+
end
|
57
|
+
|
47
58
|
def delete
|
48
59
|
@last_result = _connection.delete(@url)
|
49
60
|
if @last_result.status == 204
|
data/lib/mailchimp3/version.rb
CHANGED
@@ -167,6 +167,17 @@ describe MailChimp3::Endpoint do
|
|
167
167
|
end
|
168
168
|
end
|
169
169
|
end
|
170
|
+
|
171
|
+
context 'when the response is 204' do
|
172
|
+
before do
|
173
|
+
stub_request(:post, 'https://us2.api.mailchimp.com/3.0/lists')
|
174
|
+
.to_return(status: 204, body: nil, headers: { 'Content-Type' => 'application/json; charset=utf-8' })
|
175
|
+
end
|
176
|
+
|
177
|
+
it 'returns true' do
|
178
|
+
expect(subject.post(resource)).to eq(true)
|
179
|
+
end
|
180
|
+
end
|
170
181
|
end
|
171
182
|
|
172
183
|
describe '#patch' do
|
@@ -197,6 +208,38 @@ describe MailChimp3::Endpoint do
|
|
197
208
|
end
|
198
209
|
end
|
199
210
|
|
211
|
+
describe '#put' do
|
212
|
+
subject { base.lists[list_id].members[md5_hash] }
|
213
|
+
|
214
|
+
let(:list_id) { 'd3ed40bd7c' }
|
215
|
+
let(:member_email) { 'test@email.com' }
|
216
|
+
let(:md5_hash) { Digest::MD5.hexdigest(member_email) }
|
217
|
+
let(:resource) do
|
218
|
+
{
|
219
|
+
'email_address' => member_email,
|
220
|
+
'status_if_new' => 'subscribed'
|
221
|
+
}
|
222
|
+
end
|
223
|
+
|
224
|
+
let(:result) do
|
225
|
+
{
|
226
|
+
'id' => md5_hash,
|
227
|
+
'list_id' => list_id,
|
228
|
+
'status' => 'subscribed'
|
229
|
+
}
|
230
|
+
end
|
231
|
+
|
232
|
+
before do
|
233
|
+
stub_request(:put, "https://us2.api.mailchimp.com/3.0/lists/#{list_id}/members/#{md5_hash}")
|
234
|
+
.to_return(status: 200, body: result.to_json, headers: { 'Content-Type' => 'application/json; charset=utf-8' })
|
235
|
+
@result = subject.put(resource)
|
236
|
+
end
|
237
|
+
|
238
|
+
it 'returns the result of making a PUT request to the endpoint' do
|
239
|
+
expect(@result).to eq(result)
|
240
|
+
end
|
241
|
+
end
|
242
|
+
|
200
243
|
describe '#delete' do
|
201
244
|
subject { base.lists['d3ed40bd7c'] }
|
202
245
|
|
@@ -210,4 +253,5 @@ describe MailChimp3::Endpoint do
|
|
210
253
|
expect(@result).to eq(true)
|
211
254
|
end
|
212
255
|
end
|
256
|
+
|
213
257
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mailchimp3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Morgan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-06-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -16,42 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.9
|
19
|
+
version: '0.9'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.9
|
26
|
+
version: '0.9'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: excon
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.71.0
|
34
34
|
type: :runtime
|
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: 0.
|
40
|
+
version: 0.71.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: oauth2
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 1.
|
47
|
+
version: '1.2'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 1.
|
54
|
+
version: '1.2'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -132,14 +132,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
132
132
|
- !ruby/object:Gem::Version
|
133
133
|
version: '0'
|
134
134
|
requirements: []
|
135
|
-
|
136
|
-
rubygems_version: 2.4.5
|
135
|
+
rubygems_version: 3.1.2
|
137
136
|
signing_key:
|
138
137
|
specification_version: 4
|
139
138
|
summary: wrapper for MailChimp's 3.0 API
|
140
139
|
test_files:
|
140
|
+
- spec/spec_helper.rb
|
141
|
+
- spec/mailchimp3_spec.rb
|
141
142
|
- spec/mailchimp3/endpoint_spec.rb
|
142
143
|
- spec/mailchimp3/oauth_spec.rb
|
143
|
-
- spec/mailchimp3_spec.rb
|
144
|
-
- spec/spec_helper.rb
|
145
|
-
has_rdoc:
|