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

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
  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