rav-meser-api 1.0.10 → 1.0.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rav-meser-api.rb +22 -9
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b5af78dca1569cd1371bd4c865e0d6e008dbeb83
|
4
|
+
data.tar.gz: e1eab72927bd85dd10a0ab5d707a50f2cc1b2e1c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8066c1b337a3bae6da3baef2229ba92e1df9aa00039902db86047908d3bc833544772a234b9b1de1fea85e0ce3e497dafd7401ad63545250ac434daf24bdc386
|
7
|
+
data.tar.gz: 5142d7e8a5dc350110f5bf8a956eb7c32861c3d7e4300ea431f60576b994945907d7af958aea3da54341052fc583ada78208fb0f723b5855364f9ca235076214
|
data/lib/rav-meser-api.rb
CHANGED
@@ -2,8 +2,8 @@ require 'rubygems'
|
|
2
2
|
require 'oauth'
|
3
3
|
require 'json'
|
4
4
|
require 'optparse'
|
5
|
-
require 'pp'
|
6
5
|
require 'uri'
|
6
|
+
# require 'pp'
|
7
7
|
# require 'pry'
|
8
8
|
|
9
9
|
# gem class name RavMeser
|
@@ -148,13 +148,19 @@ class RavMeser
|
|
148
148
|
# id: (int)
|
149
149
|
# args: (Hash)
|
150
150
|
def upsert_subscribers(id, args = {})
|
151
|
+
raise 'Too few subscribers' if args.length.zero?
|
152
|
+
|
151
153
|
create_response = send_request(:post, 'subscribers', '/' + id.to_s + '/subscribers', [], args)
|
154
|
+
raise "ERRORS: #{create_response['ERRORS']}" unless create_response['ERRORS'].empty?
|
152
155
|
|
153
|
-
|
154
|
-
create_response['EMAILS_EXISTING'].
|
155
|
-
update_args
|
156
|
+
edit_response = {}
|
157
|
+
unless create_response['EMAILS_EXISTING'].empty?
|
158
|
+
update_args = {}
|
159
|
+
create_response['EMAILS_EXISTING'].each_with_index do |email, index|
|
160
|
+
update_args[index] = get_subscriber_args_and_set_identifier(args, email)
|
161
|
+
end
|
162
|
+
edit_response = send_request(:put, 'subscribers', '/' + id.to_s + '/subscribers', [], update_args)
|
156
163
|
end
|
157
|
-
edit_response = send_request(:put, 'subscribers', '/' + id.to_s + '/subscribers', [], update_args)
|
158
164
|
|
159
165
|
[create_response, edit_response]
|
160
166
|
end
|
@@ -170,18 +176,20 @@ class RavMeser
|
|
170
176
|
# id: (int)
|
171
177
|
# args: (Hash)
|
172
178
|
def upsert_subscriber(id, args = {})
|
173
|
-
|
179
|
+
raise 'Too many subscribers' unless args.length == 1
|
174
180
|
|
181
|
+
edit_response = {}
|
175
182
|
create_response = send_request(:post, 'subscribers', '/' + id.to_s + '/subscribers', [], args)
|
183
|
+
raise "ERRORS: #{create_response['ERRORS']}" unless create_response['ERRORS'].empty?
|
184
|
+
|
176
185
|
if create_response['EMAILS_EXISTING'].length == 1
|
177
186
|
args[0][:IDENTIFIER] = args[0].delete(:EMAIL)
|
178
187
|
edit_response = send_request(:put, 'subscribers', '/' + id.to_s + '/subscribers', [], args)
|
179
188
|
end
|
180
189
|
|
181
|
-
[create_response, edit_response
|
190
|
+
[create_response, edit_response]
|
182
191
|
end
|
183
192
|
|
184
|
-
|
185
193
|
# <!----------- PERSONAL FIELDS -----------!>
|
186
194
|
|
187
195
|
# get personal fields from specific list
|
@@ -299,7 +307,12 @@ class RavMeser
|
|
299
307
|
query = [query]
|
300
308
|
path_request = query.empty? ? path : path + URI.encode_www_form(query)
|
301
309
|
response = @access_token.request(type, path_request, json_obj)
|
302
|
-
|
310
|
+
|
311
|
+
begin
|
312
|
+
response = JSON.parse(response.body)
|
313
|
+
rescue StandardError => e
|
314
|
+
raise "RavMeser API return invalid response.\n#{e}"
|
315
|
+
end
|
303
316
|
response
|
304
317
|
end
|
305
318
|
|