mailchimp_api 1.0.0.pre.1 → 1.0.0.pre.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c8d245b2405f92b674684d1ac51f0839db53b404e2c03e15ec2a6e83a0c74d6d
4
- data.tar.gz: 3a10cd629ef44a525ed053870fe25b0ff670df6059e77fd0125d06d3b8145a1e
3
+ metadata.gz: 861069add26add96360f69d78b31d0f895980aa33b956f5d5ace88d7bdb3afdd
4
+ data.tar.gz: 8e85ae7c3ea13a48b4a5274348ee8588a83ecafbd433a086bc0303a74f072252
5
5
  SHA512:
6
- metadata.gz: '01941110419582f86cb09c13fa5e7828cef92decd1c9ffa0f4e4205ca3c0f4e76a3eee6f71f7fdd4f2e943bffe7d6f1f9d6eb6bac1be9e0e95c55284378b14d8'
7
- data.tar.gz: e59b628296e0fb9521a80f29d8c619b49384c3a6a6ff5b7be1b6c0226f2349abdafdfa9a6bb9875ed4eb93600f1d5d104bf1f62d3ba4f8040964724a7cd088b4
6
+ metadata.gz: 8919d1a4739dd1fcad7e6ce6bf5b02a15bf0ed4d096937bcabc1c8cd505ac9581d0ae7783299ba063056066dae9279e4ac3fb17dc76b3f47ed99302ea20d19a8
7
+ data.tar.gz: e32c9581735b61b05ccfad1b4297b50ae10086e563d03824c015b0d0570e3e7fcdd6414bcb833f4199e3efcca8eecac9417d3cf57b060050c13b38e39c844557
data/CHANGELOG.md CHANGED
@@ -6,4 +6,5 @@
6
6
  - Support of `/`
7
7
  - Support of `/lists`
8
8
  - Support of '/lists/<id>/interest-categories'
9
+ - Support of '/lists/<id>/members'
9
10
  - `.count` support
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MailchimpAPI::CollectionParsers
4
+ class Member < Base
5
+ end
6
+ end
@@ -28,13 +28,10 @@ module MailchimpAPI
28
28
  end
29
29
 
30
30
  def headers
31
- if _headers_defined?
32
- _headers
33
- elsif superclass != Object && superclass.headers
34
- superclass.headers
35
- else
36
- _headers || {}
37
- end
31
+ return _headers if _headers_defined?
32
+ return superclass.headers if superclass != Object && superclass.headers
33
+
34
+ _headers || {}
38
35
  end
39
36
  end
40
37
 
@@ -4,21 +4,12 @@ module MailchimpAPI
4
4
  class InterestCategory < Base
5
5
  extend MailchimpAPI::Support::Countable
6
6
 
7
+ include MailchimpAPI::Support::PatchUpdate
8
+
7
9
  self.collection_parser = CollectionParsers::InterestCategory
8
10
 
9
11
  self.prefix = '/3.0/lists/:list_id/'
10
12
  self.element_name = 'interest-category'
11
13
  self.collection_name = 'interest-categories'
12
-
13
- protected
14
-
15
- # Overridden - This resource only accepts updates via PATCH requests, not standard ActiveResource PUT requests
16
- def update
17
- run_callbacks :update do
18
- connection.patch(element_path(prefix_options), encode, self.class.headers).tap do |response|
19
- load_attributes_from_response(response)
20
- end
21
- end
22
- end
23
14
  end
24
15
  end
@@ -7,5 +7,6 @@ module MailchimpAPI
7
7
  self.collection_parser = CollectionParsers::List
8
8
 
9
9
  has_many :interest_categories, class_name: 'MailchimpAPI::InterestCategory'
10
+ has_many :members, class_name: 'MailchimpAPI::Member'
10
11
  end
11
12
  end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MailchimpAPI
4
+ class Member < Base
5
+ extend MailchimpAPI::Support::Countable
6
+
7
+ include MailchimpAPI::Support::PatchUpdate
8
+
9
+ self.collection_parser = CollectionParsers::Member
10
+
11
+ self.prefix = '/3.0/lists/:list_id/'
12
+
13
+ # non-RESTful actions
14
+
15
+ # Delete all personally identifiable information related to a list member, and remove them from a list. This will make it impossible to re-import the list member
16
+ def permanent_delete
17
+ run_callbacks :destroy do
18
+ path = element_path(prefix_options) + '/actions/delete-permanent'
19
+
20
+ connection.post path, nil, self.class.headers
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MailchimpAPI::Support
4
+ module PatchUpdate
5
+ protected
6
+
7
+ # Overridden - use patch instead of put for an update.
8
+ def update
9
+ run_callbacks :update do
10
+ connection.patch(element_path(prefix_options), encode, self.class.headers).tap do |response|
11
+ load_attributes_from_response(response)
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MailchimpAPI
4
- VERSION = '1.0.0.pre.1'
4
+ VERSION = '1.0.0.pre.2'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mailchimp_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.pre.1
4
+ version: 1.0.0.pre.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - rewind.io
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-31 00:00:00.000000000 Z
11
+ date: 2019-02-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activeresource
@@ -181,6 +181,7 @@ files:
181
181
  - lib/mailchimp_api/collection_parsers/interest_category.rb
182
182
  - lib/mailchimp_api/collection_parsers/link.rb
183
183
  - lib/mailchimp_api/collection_parsers/list.rb
184
+ - lib/mailchimp_api/collection_parsers/member.rb
184
185
  - lib/mailchimp_api/configuration.rb
185
186
  - lib/mailchimp_api/connection.rb
186
187
  - lib/mailchimp_api/detailed_log_subscriber.rb
@@ -192,7 +193,9 @@ files:
192
193
  - lib/mailchimp_api/resources/interest_category.rb
193
194
  - lib/mailchimp_api/resources/link.rb
194
195
  - lib/mailchimp_api/resources/list.rb
196
+ - lib/mailchimp_api/resources/member.rb
195
197
  - lib/mailchimp_api/resources/support/countable.rb
198
+ - lib/mailchimp_api/resources/support/patch_upadate.rb
196
199
  - lib/mailchimp_api/session.rb
197
200
  - lib/mailchimp_api/version.rb
198
201
  homepage: https://github.com/rewindio/mailchimp_api.git