effective_mailchimp 0.2.1 → 0.2.3
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f5e966f558a31774e2f2f1abc592ff6ebffa82a3efabe6aaad788e1542f17dec
|
4
|
+
data.tar.gz: 989488ef3d77922963d03875421008c25a1b81f0013b008d82ebfc78d894b554
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 11b18d328c459a1ee781a005ac806fb27336a4105cf169abe09958347d04b7f9b5ab11ec8a2d2e05facb6f5c6759afedb3e05e8e55a2184bc1b89f628ab75663
|
7
|
+
data.tar.gz: 3594f9d6d2289be321208181b40cec8602f76d4d63e665e435749c68f3d962221dcbaca355550027f762b1c6d96fa18358584f4a4eaad7699e8da81d2c6c5d0f
|
@@ -35,6 +35,7 @@ module EffectiveMailchimpUser
|
|
35
35
|
end
|
36
36
|
|
37
37
|
# These are the fields we push to Mailchimp on list_add and list_update
|
38
|
+
# Keys can only be 10 characters long
|
38
39
|
def default_mailchimp_merge_fields
|
39
40
|
atts = {}
|
40
41
|
|
@@ -54,7 +55,7 @@ module EffectiveMailchimpUser
|
|
54
55
|
'CITY': address&.city,
|
55
56
|
'PROVINCE': address&.province,
|
56
57
|
'COUNTRY': address&.country,
|
57
|
-
'
|
58
|
+
'POSTALCODE': address&.postal_code
|
58
59
|
)
|
59
60
|
end
|
60
61
|
|
@@ -56,6 +56,8 @@ module Effective
|
|
56
56
|
end
|
57
57
|
|
58
58
|
def add_merge_field(id, name:, type: :text)
|
59
|
+
raise("invalid mailchimp merge key: #{name}. Must be 10 or fewer characters") if name.to_s.length > 10
|
60
|
+
|
59
61
|
payload = { name: name.to_s.titleize, tag: name.to_s, type: type }
|
60
62
|
|
61
63
|
begin
|
@@ -74,7 +76,7 @@ module Effective
|
|
74
76
|
payload = {
|
75
77
|
email_address: member.user.email,
|
76
78
|
status: (member.subscribed ? 'subscribed' : 'unsubscribed'),
|
77
|
-
merge_fields: merge_fields
|
79
|
+
merge_fields: merge_fields.delete_if { |k, v| v.blank? }
|
78
80
|
}
|
79
81
|
|
80
82
|
client.lists.add_list_member(member.mailchimp_list.mailchimp_id, payload)
|
@@ -89,7 +91,7 @@ module Effective
|
|
89
91
|
payload = {
|
90
92
|
email_address: member.user.email,
|
91
93
|
status: (member.subscribed ? 'subscribed' : 'unsubscribed'),
|
92
|
-
merge_fields: merge_fields.
|
94
|
+
merge_fields: merge_fields.delete_if { |k, v| v.blank? }
|
93
95
|
}
|
94
96
|
|
95
97
|
client.lists.update_list_member(member.mailchimp_list.mailchimp_id, member.email, payload)
|
@@ -5,4 +5,20 @@ namespace :effective_mailchimp do
|
|
5
5
|
load "#{__dir__}/../../db/seeds.rb"
|
6
6
|
end
|
7
7
|
|
8
|
+
# bundle exec rake effective_mailchimp:create_mailchimp_merge_fields
|
9
|
+
task create_mailchimp_merge_fields: :environment do
|
10
|
+
merge_fields = User.new.mailchimp_merge_fields()
|
11
|
+
|
12
|
+
Effective::MailchimpList.sync!
|
13
|
+
|
14
|
+
collection = Effective::MailchimpList.all
|
15
|
+
|
16
|
+
collection.find_each do |list|
|
17
|
+
puts "Creating #{list} merge fields"
|
18
|
+
list.create_mailchimp_merge_fields!(merge_fields)
|
19
|
+
end
|
20
|
+
|
21
|
+
puts 'All done'
|
22
|
+
end
|
23
|
+
|
8
24
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: effective_mailchimp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Code and Effect
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-03-
|
11
|
+
date: 2023-03-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|