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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 10e1e2194f6330bc8836f6449e0d4a34cc94d951
4
- data.tar.gz: 9bd5c607f83a710f2a93a70a449407ad4a210daf
2
+ SHA256:
3
+ metadata.gz: d4384d48096f975c34151d557e5bd7a35dcc2d346a4320c6cd5a00537562d0e8
4
+ data.tar.gz: 9e9f15e7e4557be4ee1f838e9970685e919fffe471784ff4b344883d52c046ef
5
5
  SHA512:
6
- metadata.gz: 03f478d9191b5b0d92534ff773cea17d207de3d14624cc50a2ce2b0d5638bd3e09283a90cd8c87b0d182fa3b779076b7b6cdb4dcffce82326b3c7bcc92016156
7
- data.tar.gz: 06caf2489afca52ecdba0ffcb28b5fb2f4e310708b3b3230432b9a1dbdac9907e40f33c023aef22ad04bd25f181cfe3c86130cfbde6382ad9d6a535e048193e9
6
+ metadata.gz: 7f3b3ef343cf148466b722002c4687afb3e2a913ec608bd9cb081314eecc7f0e8125daf294868160a5135bbbc67bfebe85c99fc5cfe847ce633907f422aa7317
7
+ data.tar.gz: 848bce52776ccad5e21c4075c3927a73d70986a16694bbf13c2acbd23ec1ffb5119e47b2299be0275652783f5019a7571c7b7d774b1a7910e8037c92dcb8cfd6
@@ -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
- _build_response(@last_result)
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
@@ -1,3 +1,3 @@
1
1
  module MailChimp3
2
- VERSION = '1.2.0'
2
+ VERSION = '1.4.0'
3
3
  end
@@ -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.2.0
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: 2015-10-28 00:00:00.000000000 Z
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.1
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.1
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.45.3
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.45.3
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.0.0
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.0.0
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
- rubyforge_project:
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: