effective_mailchimp 0.13.3 → 0.14.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
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a07cfa0848bd0afa0554d8b0e28cd0693d1313c96fc71f389e6004271a3c15c5
|
|
4
|
+
data.tar.gz: 6ee97205509d1245c04a35a9bc5f0d403ba80f010b1199aa7abcdee174b5b951
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 45a62c470f53e14ae07423aed2384d4123470f268d2af736182618888bd7cc65c0b54a69c9972a16ef2d026e1b82230a80ad79029bcbabba6598bb9bffcb350b
|
|
7
|
+
data.tar.gz: 1af0cf34cb91cd0041573647b5d67ea9d4439fe0c74e9bb2543a6c93c0cd8b59c8f840dc3d1722bcef598ba10eec5486097e1dcdea0b6a030235eb9534b58332
|
|
@@ -29,7 +29,7 @@ module Admin
|
|
|
29
29
|
col :last_synced_at
|
|
30
30
|
|
|
31
31
|
actions_col do |member|
|
|
32
|
-
dropdown_link_to('Edit', "/admin/users/#{member.user.to_param}/edit#tab-mailchimp", 'data-turbolinks': false)
|
|
32
|
+
dropdown_link_to('Edit', "/admin/users/#{member.user.to_param}/edit#tab-mailchimp", 'data-turbolinks': false, 'data-turbo': false)
|
|
33
33
|
end
|
|
34
34
|
end
|
|
35
35
|
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
# https://mailchimp.com/developer/marketing/api/
|
|
4
4
|
|
|
5
5
|
require 'MailchimpMarketing'
|
|
6
|
-
require 'digest'
|
|
7
6
|
|
|
8
7
|
module Effective
|
|
9
8
|
class MailchimpApi
|
|
@@ -76,14 +75,14 @@ module Effective
|
|
|
76
75
|
def categories(list_id)
|
|
77
76
|
Rails.logger.info "[effective_mailchimp] Index Interest Categories" if debug?
|
|
78
77
|
|
|
79
|
-
response = client.lists.get_list_interest_categories(list_id.try(:mailchimp_id) || list_id
|
|
78
|
+
response = client.lists.get_list_interest_categories(list_id.try(:mailchimp_id) || list_id)
|
|
80
79
|
Array(response['categories']) - [nil, '', {}]
|
|
81
80
|
end
|
|
82
81
|
|
|
83
82
|
def interests(list_id, category_id)
|
|
84
83
|
Rails.logger.info "[effective_mailchimp] Index Interest Category Interests" if debug?
|
|
85
84
|
|
|
86
|
-
response = client.lists.list_interest_category_interests(list_id, category_id
|
|
85
|
+
response = client.lists.list_interest_category_interests(list_id, category_id)
|
|
87
86
|
Array(response['interests']) - [nil, '', {}]
|
|
88
87
|
end
|
|
89
88
|
|
|
@@ -93,7 +92,7 @@ module Effective
|
|
|
93
92
|
Rails.logger.info "[effective_mailchimp] Get List Member" if debug?
|
|
94
93
|
|
|
95
94
|
begin
|
|
96
|
-
client.lists.get_list_member(id.try(:mailchimp_id) || id,
|
|
95
|
+
client.lists.get_list_member(id.try(:mailchimp_id) || id, email)
|
|
97
96
|
rescue MailchimpMarketing::ApiError => e
|
|
98
97
|
{}
|
|
99
98
|
end
|
|
@@ -128,9 +127,9 @@ module Effective
|
|
|
128
127
|
Rails.logger.info "[effective_mailchimp] Add List Member" if debug?
|
|
129
128
|
return if sandbox_mode?
|
|
130
129
|
|
|
131
|
-
# Actually add or update
|
|
132
|
-
payload = list_member_payload(member)
|
|
133
|
-
client.lists.set_list_member(member.mailchimp_list.mailchimp_id,
|
|
130
|
+
# Actually add or update
|
|
131
|
+
payload = list_member_payload(member)
|
|
132
|
+
client.lists.set_list_member(member.mailchimp_list.mailchimp_id, member.email, payload)
|
|
134
133
|
end
|
|
135
134
|
|
|
136
135
|
def list_member_update(member)
|
|
@@ -140,8 +139,7 @@ module Effective
|
|
|
140
139
|
return if sandbox_mode?
|
|
141
140
|
|
|
142
141
|
payload = list_member_payload(member)
|
|
143
|
-
|
|
144
|
-
client.lists.update_list_member(member.mailchimp_list.mailchimp_id, hash, payload)
|
|
142
|
+
client.lists.update_list_member(member.mailchimp_list.mailchimp_id, member.email, payload)
|
|
145
143
|
end
|
|
146
144
|
|
|
147
145
|
def list_member_payload(member)
|
|
@@ -152,22 +150,11 @@ module Effective
|
|
|
152
150
|
|
|
153
151
|
payload = {
|
|
154
152
|
email_address: member.user.email,
|
|
155
|
-
status:
|
|
153
|
+
status: (member.subscribed ? 'subscribed' : 'unsubscribed'),
|
|
156
154
|
merge_fields: merge_fields.transform_values { |value| value || '' },
|
|
157
155
|
interests: member.interests_hash.presence
|
|
158
156
|
}.compact
|
|
159
157
|
end
|
|
160
158
|
|
|
161
|
-
# Mailchimp identifies a list member by the MD5 hash of their lowercase email address
|
|
162
|
-
def subscriber_hash(email)
|
|
163
|
-
raise('expected an email') unless email.to_s.include?('@')
|
|
164
|
-
|
|
165
|
-
Digest::MD5.hexdigest(email.to_s.downcase.strip)
|
|
166
|
-
end
|
|
167
|
-
|
|
168
|
-
def list_member_status(member)
|
|
169
|
-
member.subscribed ? 'subscribed' : 'unsubscribed'
|
|
170
|
-
end
|
|
171
|
-
|
|
172
159
|
end
|
|
173
160
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: effective_mailchimp
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.14.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Code and Effect
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: rails
|
|
@@ -253,7 +252,6 @@ homepage: https://github.com/code-and-effect/effective_mailchimp
|
|
|
253
252
|
licenses:
|
|
254
253
|
- MIT
|
|
255
254
|
metadata: {}
|
|
256
|
-
post_install_message:
|
|
257
255
|
rdoc_options: []
|
|
258
256
|
require_paths:
|
|
259
257
|
- lib
|
|
@@ -268,8 +266,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
268
266
|
- !ruby/object:Gem::Version
|
|
269
267
|
version: '0'
|
|
270
268
|
requirements: []
|
|
271
|
-
rubygems_version:
|
|
272
|
-
signing_key:
|
|
269
|
+
rubygems_version: 4.0.17
|
|
273
270
|
specification_version: 4
|
|
274
271
|
summary: Subscribe and unsubscribe to mailchimp lists.
|
|
275
272
|
test_files: []
|