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: 1dbffbf79bcfa6f22f1fd8599abc18a84537380ae16bbf8da55368912d7308ca
4
- data.tar.gz: 2bafa384fc879e4444e51710569eb5e91337d7d46228b7de4927d3f257a27a48
3
+ metadata.gz: a07cfa0848bd0afa0554d8b0e28cd0693d1313c96fc71f389e6004271a3c15c5
4
+ data.tar.gz: 6ee97205509d1245c04a35a9bc5f0d403ba80f010b1199aa7abcdee174b5b951
5
5
  SHA512:
6
- metadata.gz: '018a4244123fc004b0983d6bcd8aa658c6ca0ba3778b9959c373478af51d473ebc4634b912f5935db96afad46910efd46fe51b35b3956c246e8a07224f6197c8'
7
- data.tar.gz: 66a53fc0e6142b267a323874712f859145720624f2ea9375867d024f0156ace6acaaf70b168bd712463bf56ec74de0d066870c1f452202577636a56042a7a15d
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, count: 1000)
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, count: 1000)
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, subscriber_hash(email))
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. set_list_member applies status_if_new when the contact is new
132
- payload = list_member_payload(member).merge(status_if_new: list_member_status(member))
133
- client.lists.set_list_member(member.mailchimp_list.mailchimp_id, subscriber_hash(member.user.email), payload)
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
- hash = member.mailchimp_id.presence || subscriber_hash(member.email)
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: list_member_status(member),
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
@@ -1,3 +1,3 @@
1
1
  module EffectiveMailchimp
2
- VERSION = '0.13.3'.freeze
2
+ VERSION = '0.14.0'.freeze
3
3
  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.13.3
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: 2026-05-27 00:00:00.000000000 Z
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: 3.5.9
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: []