unresponsys 0.0.8 → 0.0.9

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
  SHA1:
3
- metadata.gz: a18a1c1849b8e107be805551eee082044f3b3033
4
- data.tar.gz: 1cd103900f046fbd1c320e7ff944a5726b34db0a
3
+ metadata.gz: 140ba580abc3fb8fe898395180262a279584d191
4
+ data.tar.gz: 887817c8b8bb07fb9fd1216433feae008d7b3aa8
5
5
  SHA512:
6
- metadata.gz: 286ac12a4c39c9b842635ef309e3435d5b917514a31b8d6135b31b0ab106254db4f15e76c24d588266f2875b3391de34bf7b9bb25edc4c38c25ef3458088c406
7
- data.tar.gz: dd87e1f35dcf3f4f8722631b87d650e8c5facc5dee847f127a9659d9304d7ea5f97b1d1a7c2fd9e26f49903423bd3e904c05d03dab5a84422e993ae1b6090855
6
+ metadata.gz: 2a46806169f4f210795abbcadc7b03bef2e786c66ef801ff2473a0e5a1cce513fd7718c489b5185f16e3b4f5e7c55bf719b9f9e57084b07f890d1c7cbadab53b
7
+ data.tar.gz: 2955543b360be917faeddd41de76368d728686aa3dcb32f81e9d7d97091248cf2f2897ad7d3703d05513d26daf20e04e247a1fc1a1428c5544f2542c8d86e0d9
@@ -1,46 +1,8 @@
1
1
  class Unresponsys
2
2
  class Member
3
- DEFAULT_FIELDS = {
4
- 'RIID_' => '',
5
- 'EMAIL_ADDRESS_' => '',
6
- 'MOBILE_NUMBER_' => '',
7
- 'CUSTOMER_ID_' => '',
8
- 'EMAIL_PERMISSION_STATUS_' => '',
9
- 'EMAIL_PERMISSION_REASON_' => '',
10
- 'POSTAL_STREET_1_' => '',
11
- 'POSTAL_STREET_2_' => '',
12
- 'CITY_' => '',
13
- 'STATE_' => '',
14
- 'POSTAL_CODE_' => '',
15
- 'COUNTRY_' => '',
16
- 'EMAIL_MD5_HASH_' => '',
17
- 'EMAIL_SHA256_HASH_' => ''
18
- }
19
-
20
- IMMUTABLE_FIELDS = %w(
21
- RIID_
22
- EMAIL_ADDRESS_
23
- MOBILE_NUMBER_
24
- EMAIL_MD5_HASH_
25
- EMAIL_SHA256_HASH_
26
- )
27
-
28
- MERGE_RULE = {
29
- insertOnNoMatch: true,
30
- updateOnMatch: 'REPLACE_ALL',
31
- matchColumnName1: 'EMAIL_ADDRESS_',
32
- matchColumnName2: nil,
33
- matchOperator: nil,
34
- optinValue: 'I',
35
- optoutValue: 'O',
36
- defaultPermissionStatus: 'OPTIN',
37
- htmlValue: 'H',
38
- textValue: 'T',
39
- rejectRecordIfChannelEmpty: nil,
40
- }
41
3
 
42
4
  def initialize(list, fields)
43
- @fields = DEFAULT_FIELDS.dup.merge(fields)
5
+ @fields = default_fields.merge(fields)
44
6
  @list = list
45
7
  @changed = ['EMAIL_ADDRESS_']
46
8
 
@@ -54,7 +16,7 @@ class Unresponsys
54
16
  self.class.send(:attr_reader, str)
55
17
 
56
18
  # setter
57
- next if IMMUTABLE_FIELDS.include?(key)
19
+ next if immutable_fields.include?(key)
58
20
  self.class.send(:define_method, "#{str}=") do |val|
59
21
  @changed << key
60
22
  val = val.to_ruby
@@ -84,7 +46,7 @@ class Unresponsys
84
46
  record_data[:records][0] << val
85
47
  end
86
48
 
87
- options = { body: { recordData: record_data, mergeRule: MERGE_RULE.dup }.to_json }
49
+ options = { body: { recordData: record_data, mergeRule: merge_rule }.to_json }
88
50
  r = Unresponsys::Client.post("/lists/#{@list.name}/members", options)
89
51
  return false if r['recordData']['records'][0][0].include?('MERGEFAILED')
90
52
  @changed = ['EMAIL_ADDRESS_']
@@ -128,5 +90,53 @@ class Unresponsys
128
90
  Event.new(member: @member, event: event, properties: properties)
129
91
  end
130
92
  end
93
+
94
+ private
95
+
96
+ def default_fields
97
+ {
98
+ 'RIID_' => '',
99
+ 'EMAIL_ADDRESS_' => '',
100
+ 'MOBILE_NUMBER_' => '',
101
+ 'CUSTOMER_ID_' => '',
102
+ 'EMAIL_PERMISSION_STATUS_' => '',
103
+ 'EMAIL_PERMISSION_REASON_' => '',
104
+ 'POSTAL_STREET_1_' => '',
105
+ 'POSTAL_STREET_2_' => '',
106
+ 'CITY_' => '',
107
+ 'STATE_' => '',
108
+ 'POSTAL_CODE_' => '',
109
+ 'COUNTRY_' => '',
110
+ 'EMAIL_MD5_HASH_' => '',
111
+ 'EMAIL_SHA256_HASH_' => ''
112
+ }
113
+ end
114
+
115
+ def immutable_fields
116
+ %w(
117
+ RIID_
118
+ EMAIL_ADDRESS_
119
+ MOBILE_NUMBER_
120
+ EMAIL_MD5_HASH_
121
+ EMAIL_SHA256_HASH_
122
+ )
123
+ end
124
+
125
+ def merge_rule
126
+ {
127
+ insertOnNoMatch: true,
128
+ updateOnMatch: 'REPLACE_ALL',
129
+ matchColumnName1: 'EMAIL_ADDRESS_',
130
+ matchColumnName2: nil,
131
+ matchOperator: nil,
132
+ optinValue: 'I',
133
+ optoutValue: 'O',
134
+ defaultPermissionStatus: 'OPTIN',
135
+ htmlValue: 'H',
136
+ textValue: 'T',
137
+ rejectRecordIfChannelEmpty: nil,
138
+ }
139
+ end
140
+
131
141
  end
132
142
  end
@@ -1,3 +1,3 @@
1
1
  class Unresponsys
2
- VERSION = '0.0.8'
2
+ VERSION = '0.0.9'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unresponsys
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Kimball