unresponsys 0.0.8 → 0.0.9

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