unresponsys 0.1.5 → 0.2.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 +4 -4
- data/lib/unresponsys/event.rb +0 -9
- data/lib/unresponsys/extension_table.rb +19 -0
- data/lib/unresponsys/folder.rb +4 -4
- data/lib/unresponsys/member.rb +24 -9
- data/lib/unresponsys/row.rb +30 -11
- data/lib/unresponsys/{table.rb → supplemental_table.rb} +1 -1
- data/lib/unresponsys/version.rb +1 -1
- data/lib/unresponsys.rb +2 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c3375278f0085f82556ba6e0834ff185533c146b
|
4
|
+
data.tar.gz: 2df2e0417162bb417461a881af9eb941f1ef1f5a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d2d95e28319d9163d1c57007ea9f8b9e1597b1520ec163c68b0b931000f1ae52cd5e7188a7df588a8ad6255b68fb076125294eedbd932d04acc5cf3bce09d9d
|
7
|
+
data.tar.gz: ccccc45c99a4006261327841d7e1059171e0b654691482b35dae7f594915effdf626c0028535aa4c9f266ee8932e94ea566a5a379efd4974c48af7effc6389ea
|
data/lib/unresponsys/event.rb
CHANGED
@@ -7,7 +7,6 @@ class Unresponsys
|
|
7
7
|
def initialize(options = {})
|
8
8
|
@event_name = options[:event]
|
9
9
|
@member = options[:member]
|
10
|
-
@properties = options[:properties]
|
11
10
|
end
|
12
11
|
|
13
12
|
def save
|
@@ -18,14 +17,6 @@ class Unresponsys
|
|
18
17
|
}]
|
19
18
|
}
|
20
19
|
|
21
|
-
# API throws an non-descriptive error if optionalData is present but empty
|
22
|
-
if @properties.present?
|
23
|
-
body[:recipientData].first[:optionalData] = []
|
24
|
-
@properties.each_pair do |key, val|
|
25
|
-
body[:recipientData].first[:optionalData] << { name: key.to_s, value: val.to_s }
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
20
|
r = client.post("/events/#{@event_name}", body: body.to_json)
|
30
21
|
return false if r.first['errorMessage'].present?
|
31
22
|
true
|
@@ -0,0 +1,19 @@
|
|
1
|
+
class Unresponsys
|
2
|
+
class ExtensionTable
|
3
|
+
extend Forwardable
|
4
|
+
delegate [:client] => :list
|
5
|
+
attr_reader :list, :name
|
6
|
+
|
7
|
+
def initialize(member, table_name)
|
8
|
+
@member = member
|
9
|
+
@list = member.list
|
10
|
+
@name = table_name
|
11
|
+
end
|
12
|
+
|
13
|
+
def update(fields = {})
|
14
|
+
row = Unresponsys::Row.new(self, { 'RIID_' => @member.riid })
|
15
|
+
fields.each_pair { |field, value| row.send("#{field}=", value) }
|
16
|
+
row.save
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/unresponsys/folder.rb
CHANGED
@@ -7,17 +7,17 @@ class Unresponsys
|
|
7
7
|
@name = name
|
8
8
|
end
|
9
9
|
|
10
|
-
def
|
11
|
-
@
|
10
|
+
def supplemental_tables
|
11
|
+
@supplemental_tables ||= SupplementalTables.new(self)
|
12
12
|
end
|
13
13
|
|
14
|
-
class
|
14
|
+
class SupplementalTables
|
15
15
|
def initialize(folder)
|
16
16
|
@folder = folder
|
17
17
|
end
|
18
18
|
|
19
19
|
def find(table_name)
|
20
|
-
Unresponsys::
|
20
|
+
Unresponsys::SupplementalTable.new(@folder, table_name)
|
21
21
|
end
|
22
22
|
end
|
23
23
|
end
|
data/lib/unresponsys/member.rb
CHANGED
@@ -29,10 +29,6 @@ class Unresponsys
|
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
32
|
-
def email
|
33
|
-
email_address
|
34
|
-
end
|
35
|
-
|
36
32
|
def save
|
37
33
|
record_data = { fieldNames: [], records: [[]], mapTemplateName: nil }
|
38
34
|
@changed.uniq.each do |key|
|
@@ -52,11 +48,6 @@ class Unresponsys
|
|
52
48
|
true
|
53
49
|
end
|
54
50
|
|
55
|
-
def delete
|
56
|
-
self.email_permission_status = 'O'
|
57
|
-
self.save
|
58
|
-
end
|
59
|
-
|
60
51
|
# allow to access custom fields on new record
|
61
52
|
def method_missing(sym, *args, &block)
|
62
53
|
setter = sym.to_s.include?('=')
|
@@ -88,6 +79,20 @@ class Unresponsys
|
|
88
79
|
end
|
89
80
|
end
|
90
81
|
|
82
|
+
def extension_tables
|
83
|
+
@extension_tables ||= ExtensionTables.new(self)
|
84
|
+
end
|
85
|
+
|
86
|
+
class ExtensionTables
|
87
|
+
def initialize(member)
|
88
|
+
@member = member
|
89
|
+
end
|
90
|
+
|
91
|
+
def find(name)
|
92
|
+
Unresponsys::ExtensionTable.new(@member, name)
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
91
96
|
private
|
92
97
|
|
93
98
|
def default_fields
|
@@ -115,6 +120,16 @@ class Unresponsys
|
|
115
120
|
EMAIL_MD5_HASH_
|
116
121
|
EMAIL_SHA256_HASH_
|
117
122
|
EMAIL_PERMISSION_REASON_
|
123
|
+
CREATED_SOURCE_IP_
|
124
|
+
EMAIL_DOMAIN_
|
125
|
+
EMAIL_ISP_
|
126
|
+
EMAIL_DELIVERABILITY_STATUS_
|
127
|
+
MOBILE_DELIVERABILITY_STATUS_
|
128
|
+
MOBILE_PERMISSION_REASON_
|
129
|
+
POSTAL_DELIVERABILITY_STATUS_
|
130
|
+
POSTAL_PERMISSION_REASON_
|
131
|
+
CREATED_DATE_
|
132
|
+
MODIFIED_DATE_
|
118
133
|
)
|
119
134
|
end
|
120
135
|
|
data/lib/unresponsys/row.rb
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
class Unresponsys
|
2
2
|
class Row
|
3
|
+
extend Forwardable
|
4
|
+
delegate [:client] => :table
|
5
|
+
attr_reader :table
|
6
|
+
|
3
7
|
def initialize(table, fields)
|
4
8
|
@table = table
|
5
9
|
@fields = fields
|
@@ -10,7 +14,7 @@ class Unresponsys
|
|
10
14
|
val = val.to_ruby
|
11
15
|
self.instance_variable_set(var, val)
|
12
16
|
|
13
|
-
if key == 'ID_'
|
17
|
+
if key == 'ID_' || 'RIID_'
|
14
18
|
self.class.send(:attr_reader, str)
|
15
19
|
else
|
16
20
|
self.class.send(:define_method, "#{str}=") do |val|
|
@@ -22,24 +26,39 @@ class Unresponsys
|
|
22
26
|
end
|
23
27
|
|
24
28
|
def save
|
25
|
-
record_data = { fieldNames: [], records: [[]], mapTemplateName: nil }
|
29
|
+
record_data = { fieldNames: [], records: [{ fieldValues: [] }], mapTemplateName: nil }
|
30
|
+
|
26
31
|
@fields.each_pair do |key, val|
|
27
32
|
record_data[:fieldNames] << key
|
28
33
|
var = "@#{key.downcase.chomp('_')}".to_sym
|
29
34
|
val = self.instance_variable_get(var)
|
30
35
|
val = val.to_responsys
|
31
|
-
record_data[:records][0] << val
|
36
|
+
record_data[:records][0][:fieldValues] << val
|
32
37
|
end
|
33
38
|
|
34
|
-
options = {
|
35
|
-
|
36
|
-
|
37
|
-
|
39
|
+
options = {
|
40
|
+
body: {
|
41
|
+
recordData: record_data,
|
42
|
+
insertOnNoMatch: true,
|
43
|
+
updateOnMatch: 'REPLACE_ALL',
|
44
|
+
}
|
45
|
+
}
|
38
46
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
47
|
+
if @table.class == Unresponsys::SupplementalTable
|
48
|
+
url = "/folders/#{@table.folder.name}/suppData/#{@table.name}"
|
49
|
+
else
|
50
|
+
options[:body][:matchColumn] = 'RIID'
|
51
|
+
url = "/lists/#{@table.list.name}/listExtensions/#{@table.name}"
|
52
|
+
end
|
53
|
+
|
54
|
+
options[:body] = options[:body].to_json
|
55
|
+
r = client.post(url, options)
|
56
|
+
|
57
|
+
if @table.class == Unresponsys::SupplementalTable
|
58
|
+
r['errorMessage'].blank?
|
59
|
+
else
|
60
|
+
r[0]['errorMessage'].blank?
|
61
|
+
end
|
43
62
|
end
|
44
63
|
|
45
64
|
# allow to access custom fields on new record
|
data/lib/unresponsys/version.rb
CHANGED
data/lib/unresponsys.rb
CHANGED
@@ -2,11 +2,12 @@ require 'active_support'
|
|
2
2
|
require 'active_support/all'
|
3
3
|
require 'unresponsys/client'
|
4
4
|
require 'unresponsys/event'
|
5
|
+
require 'unresponsys/extension_table'
|
5
6
|
require 'unresponsys/errors'
|
6
7
|
require 'unresponsys/folder'
|
7
8
|
require 'unresponsys/helpers'
|
8
9
|
require 'unresponsys/list'
|
9
10
|
require 'unresponsys/member'
|
10
11
|
require 'unresponsys/row'
|
11
|
-
require 'unresponsys/
|
12
|
+
require 'unresponsys/supplemental_table'
|
12
13
|
require 'unresponsys/version'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unresponsys
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin Kimball
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-02-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -119,12 +119,13 @@ files:
|
|
119
119
|
- lib/unresponsys/client.rb
|
120
120
|
- lib/unresponsys/errors.rb
|
121
121
|
- lib/unresponsys/event.rb
|
122
|
+
- lib/unresponsys/extension_table.rb
|
122
123
|
- lib/unresponsys/folder.rb
|
123
124
|
- lib/unresponsys/helpers.rb
|
124
125
|
- lib/unresponsys/list.rb
|
125
126
|
- lib/unresponsys/member.rb
|
126
127
|
- lib/unresponsys/row.rb
|
127
|
-
- lib/unresponsys/
|
128
|
+
- lib/unresponsys/supplemental_table.rb
|
128
129
|
- lib/unresponsys/version.rb
|
129
130
|
homepage:
|
130
131
|
licenses: []
|