mints 0.0.17 → 0.0.21
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/Gemfile +2 -1
- data/lib/client.rb +96 -37
- data/lib/contact.rb +659 -94
- data/lib/generators/mints_files_generator.rb +6 -0
- data/lib/generators/mints_link.rb +61 -0
- data/lib/generators/short_link_controller.rb +41 -0
- data/lib/mints/controllers/admin_base_controller.rb +2 -2
- data/lib/mints/controllers/base_api_controller.rb +12 -11
- data/lib/mints/controllers/base_controller.rb +38 -9
- data/lib/mints_helper.rb +47 -0
- data/lib/pub.rb +258 -139
- data/lib/user/config/api_keys.rb +65 -0
- data/lib/user/config/appointments.rb +221 -0
- data/lib/user/config/attribute_groups.rb +77 -0
- data/lib/user/config/attributes.rb +86 -0
- data/lib/user/config/calendars.rb +89 -0
- data/lib/user/config/config.rb +65 -0
- data/lib/user/config/importers.rb +184 -0
- data/lib/user/config/public_folders.rb +108 -0
- data/lib/user/config/relationships.rb +138 -0
- data/lib/user/config/roles.rb +84 -0
- data/lib/user/config/seeds.rb +14 -0
- data/lib/user/config/system_settings.rb +53 -0
- data/lib/user/config/tags.rb +63 -0
- data/lib/user/config/taxonomies.rb +124 -0
- data/lib/user/config/teams.rb +70 -0
- data/lib/user/config/users.rb +76 -0
- data/lib/user/contacts/contacts.rb +21 -0
- data/lib/user/content/assets.rb +260 -0
- data/lib/user/content/content.rb +235 -0
- data/lib/user/content/content_instances.rb +147 -0
- data/lib/user/content/content_templates.rb +111 -0
- data/lib/user/content/conversations.rb +174 -0
- data/lib/user/content/dam.rb +88 -0
- data/lib/user/content/forms.rb +168 -0
- data/lib/user/content/message_templates.rb +162 -0
- data/lib/user/content/messages.rb +90 -0
- data/lib/user/content/pages.rb +81 -0
- data/lib/user/content/stories.rb +164 -0
- data/lib/user/content/story_templates.rb +95 -0
- data/lib/user/crm/companies.rb +111 -0
- data/lib/user/crm/contacts.rb +312 -0
- data/lib/user/crm/crm.rb +21 -0
- data/lib/user/crm/deals.rb +111 -0
- data/lib/user/crm/favorites.rb +17 -0
- data/lib/user/crm/segments.rb +132 -0
- data/lib/user/crm/users.rb +22 -0
- data/lib/user/crm/workflow_step_objects.rb +89 -0
- data/lib/user/crm/workflow_steps.rb +49 -0
- data/lib/user/crm/workflows.rb +70 -0
- data/lib/user/ecommerce/ecommerce.rb +29 -0
- data/lib/user/ecommerce/item_prices.rb +86 -0
- data/lib/user/ecommerce/locations.rb +166 -0
- data/lib/user/ecommerce/order_items_groups.rb +109 -0
- data/lib/user/ecommerce/order_statuses.rb +26 -0
- data/lib/user/ecommerce/orders.rb +258 -0
- data/lib/user/ecommerce/price_lists.rb +73 -0
- data/lib/user/ecommerce/product_templates.rb +104 -0
- data/lib/user/ecommerce/product_variations.rb +129 -0
- data/lib/user/ecommerce/products.rb +169 -0
- data/lib/user/ecommerce/skus.rb +88 -0
- data/lib/user/ecommerce/taxes.rb +82 -0
- data/lib/user/ecommerce/variant_options.rb +69 -0
- data/lib/user/ecommerce/variant_values.rb +72 -0
- data/lib/user/helpers/helpers.rb +113 -0
- data/lib/user/helpers/object_activities.rb +83 -0
- data/lib/user/helpers/object_folders.rb +82 -0
- data/lib/user/helpers/user_folders.rb +83 -0
- data/lib/user/marketing/marketing.rb +120 -0
- data/lib/user/profile/profile.rb +111 -0
- data/lib/user.rb +24 -368
- metadata +64 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f2ab9b781d2576391b638771babe904c816f97dffb6e98644b98cd1906b3232d
|
4
|
+
data.tar.gz: 4f065c57fab622ded6e65800a2eaa82d4d6773d66b313a8f0e2567d403645a02
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 52c8490021563ebfac12d93269c0757911647e8a7cefa99c42fb1cec62e956bde9427e19ad49353ae6aa688d359efbba4415e26fb0a290fd028b342c1c173454
|
7
|
+
data.tar.gz: 88308f8b8536122d4db1bf38338cbd140f26edad3cf5ae7427d561941b2ab9ff1101135b2fdb5d3c1de8ea1d3b2d8a3a307ac5578c75ccfb5a025a9d999fda27
|
data/Gemfile
CHANGED
data/lib/client.rb
CHANGED
@@ -11,16 +11,20 @@ module Mints
|
|
11
11
|
attr_accessor :session_token
|
12
12
|
attr_accessor :contact_token_id
|
13
13
|
|
14
|
-
def initialize(host, api_key, scope = nil, session_token = nil, contact_token_id = nil, debug = false)
|
14
|
+
def initialize(host, api_key, scope = nil, session_token = nil, contact_token_id = nil, visit_id = nil, debug = false)
|
15
15
|
@host = host
|
16
16
|
@api_key = api_key
|
17
17
|
@session_token = session_token
|
18
18
|
@contact_token_id = contact_token_id
|
19
|
+
@visit_id = visit_id
|
19
20
|
@debug = debug
|
20
21
|
self.set_scope(scope)
|
21
22
|
end
|
22
23
|
|
23
|
-
def raw(action, url, options = nil, data = nil, base_url = nil)
|
24
|
+
def raw(action, url, options = nil, data = nil, base_url = nil, compatibility_options = {}, only_tracking = false)
|
25
|
+
if compatibility_options === nil
|
26
|
+
compatibility_options = {}
|
27
|
+
end
|
24
28
|
base_url = @base_url if !base_url
|
25
29
|
uri = ""
|
26
30
|
if (options && options.class == Hash)
|
@@ -51,8 +55,18 @@ module Mints
|
|
51
55
|
if @redis_server.get(full_url)
|
52
56
|
response = @redis_server.get(full_url)
|
53
57
|
result_from_cache = true
|
54
|
-
|
55
|
-
|
58
|
+
|
59
|
+
headers = nil
|
60
|
+
if only_tracking
|
61
|
+
headers = {"Only-Tracking" => "true"}
|
62
|
+
end
|
63
|
+
#when is already in redis notify to California to register the object usage
|
64
|
+
cali_response = self.send("#{@scope}_#{action}", "#{full_url}", headers, compatibility_options)
|
65
|
+
if @debug
|
66
|
+
puts "CALI RESPONSE: #{cali_response}"
|
67
|
+
end
|
68
|
+
else
|
69
|
+
response = self.send("#{@scope}_#{action}", "#{full_url}", nil, compatibility_options)
|
56
70
|
@redis_server.setex(full_url,time,response)
|
57
71
|
end
|
58
72
|
break
|
@@ -63,15 +77,18 @@ module Mints
|
|
63
77
|
end
|
64
78
|
|
65
79
|
if !url_need_cache
|
66
|
-
response = self.send("#{@scope}_#{action}", "#{full_url}")
|
80
|
+
response = self.send("#{@scope}_#{action}", "#{full_url}", nil, compatibility_options)
|
67
81
|
end
|
68
82
|
|
69
83
|
elsif action === 'create' or action === 'post'
|
70
84
|
action = 'post'
|
71
|
-
response = self.send("#{@scope}_#{action}", "#{full_url}", data)
|
85
|
+
response = self.send("#{@scope}_#{action}", "#{full_url}", data, compatibility_options)
|
72
86
|
elsif action === 'put' or action === 'patch' or action ==='update'
|
73
87
|
action = 'put'
|
74
|
-
response = self.send("#{@scope}_#{action}", "#{full_url}", data)
|
88
|
+
response = self.send("#{@scope}_#{action}", "#{full_url}", data, compatibility_options)
|
89
|
+
elsif action === 'delete' or action === 'destroy'
|
90
|
+
action = 'delete'
|
91
|
+
response = self.send("#{@scope}_#{action}", "#{full_url}", data, compatibility_options)
|
75
92
|
end
|
76
93
|
if result_from_cache
|
77
94
|
return parsed_response = JSON.parse(response)
|
@@ -85,7 +102,6 @@ module Mints
|
|
85
102
|
end
|
86
103
|
|
87
104
|
def method_missing(name, *args, &block)
|
88
|
-
puts name
|
89
105
|
name.to_s.include?("__") ? separator = "__" : separator = "_"
|
90
106
|
# split the name to identify their elements
|
91
107
|
name_spplited = name.to_s.split(separator)
|
@@ -93,7 +109,7 @@ module Mints
|
|
93
109
|
name_len = name_spplited.size
|
94
110
|
# the action always be the first element
|
95
111
|
action = name_spplited.first
|
96
|
-
raise 'NoActionError' unless ['get', 'create', 'post', 'update', 'put'].include?(action)
|
112
|
+
raise 'NoActionError' unless ['get', 'create', 'post', 'update', 'put', 'delete', 'destroy'].include?(action)
|
97
113
|
# the object always be the last element
|
98
114
|
object = separator == "__" ? name_spplited.last.gsub("_","-") : name_spplited.last
|
99
115
|
# get intermediate url elements
|
@@ -121,7 +137,7 @@ module Mints
|
|
121
137
|
uri.query_values = args[1]
|
122
138
|
end
|
123
139
|
url = self.get_url(route, object, uri, slug)
|
124
|
-
response = self.send("#{@scope}_#{action}", url)
|
140
|
+
response = self.send("#{@scope}_#{action}", url, nil, compatibility_options)
|
125
141
|
elsif action == "post" or action == "create"
|
126
142
|
if args[1].class == Hash
|
127
143
|
uri.query_values = args[1]
|
@@ -129,7 +145,7 @@ module Mints
|
|
129
145
|
url = self.get_url(route, object, uri, slug)
|
130
146
|
action = 'post'
|
131
147
|
data = args[0]
|
132
|
-
response = self.send("#{@scope}_#{action}", url, {data: data})
|
148
|
+
response = self.send("#{@scope}_#{action}", url, {data: data}, compatibility_options)
|
133
149
|
elsif action == "put" or action == "update"
|
134
150
|
if args.first.class == String or Integer
|
135
151
|
slug = args.first
|
@@ -139,7 +155,7 @@ module Mints
|
|
139
155
|
action = 'put'
|
140
156
|
id = args[0]
|
141
157
|
data = args[1]
|
142
|
-
response = self.send("#{@scope}_#{action}", "#{url}", {data: data})
|
158
|
+
response = self.send("#{@scope}_#{action}", "#{url}", {data: data}, compatibility_options)
|
143
159
|
end
|
144
160
|
|
145
161
|
if response.response.code == "404"
|
@@ -188,6 +204,7 @@ module Mints
|
|
188
204
|
puts url
|
189
205
|
puts "Headers:"
|
190
206
|
puts headers
|
207
|
+
puts "Method: get"
|
191
208
|
end
|
192
209
|
return headers ? HTTParty.get(url, :headers => headers) : HTTParty.get(url)
|
193
210
|
end
|
@@ -201,6 +218,7 @@ module Mints
|
|
201
218
|
puts headers
|
202
219
|
puts "Data:"
|
203
220
|
puts data
|
221
|
+
puts "Method: post"
|
204
222
|
end
|
205
223
|
return headers ? HTTParty.post(url, :headers=> headers, :body => data) : HTTParty.post(url, :body => data)
|
206
224
|
end
|
@@ -214,78 +232,119 @@ module Mints
|
|
214
232
|
puts headers
|
215
233
|
puts "Data:"
|
216
234
|
puts data
|
235
|
+
puts "Method: put"
|
217
236
|
end
|
218
237
|
return headers ? HTTParty.put(url, :headers=> headers, :body => data) : HTTParty.put(url, :body => data)
|
219
238
|
end
|
220
239
|
|
240
|
+
# Simple HTTP DELETE
|
241
|
+
def http_delete(url, headers = nil, data = nil)
|
242
|
+
if @debug
|
243
|
+
puts "Url:"
|
244
|
+
puts url
|
245
|
+
puts "Headers:"
|
246
|
+
puts headers
|
247
|
+
puts "Data:"
|
248
|
+
puts data
|
249
|
+
puts "Method: delete"
|
250
|
+
end
|
251
|
+
return headers ? HTTParty.delete(url, :headers=> headers, :body => data) : HTTParty.delete(url, :body => data)
|
252
|
+
end
|
253
|
+
|
221
254
|
# Start contact context
|
222
|
-
def contact_get(url)
|
223
|
-
|
255
|
+
def contact_get(url, headers = nil, compatibility_options)
|
256
|
+
h = {
|
224
257
|
"ApiKey" => @api_key,
|
225
258
|
"Accept" => "application/json",
|
226
259
|
"ContactToken" => @contact_token_id
|
227
260
|
}
|
228
|
-
|
229
|
-
|
261
|
+
h["Content-Type"] = "application/json" unless compatibility_options['no_content_type']
|
262
|
+
h["Authorization"] = "Bearer #{@session_token}" if @session_token
|
263
|
+
if headers
|
264
|
+
headers.each do |k,v|
|
265
|
+
h[k] = v
|
266
|
+
end
|
267
|
+
end
|
268
|
+
return self.http_get(url, h)
|
230
269
|
end
|
231
270
|
|
232
|
-
def contact_post(url, data)
|
271
|
+
def contact_post(url, data, compatibility_options)
|
233
272
|
headers = {
|
234
273
|
"ApiKey" => @api_key,
|
235
274
|
"Accept" => "application/json",
|
236
275
|
"ContactToken" => @contact_token_id
|
237
276
|
}
|
277
|
+
headers["Content-Type"] = "application/json" unless compatibility_options['no_content_type']
|
238
278
|
headers["Authorization"] = "Bearer #{@session_token}" if @session_token
|
239
279
|
return self.http_post(url, headers, data)
|
240
280
|
end
|
241
281
|
|
242
|
-
def contact_put(url, data)
|
282
|
+
def contact_put(url, data, compatibility_options)
|
243
283
|
headers = {
|
244
284
|
"ApiKey" => @api_key,
|
245
285
|
"Accept" => "application/json",
|
246
286
|
"ContactToken" => @contact_token_id
|
247
287
|
}
|
288
|
+
headers["Content-Type"] = "application/json" unless compatibility_options['no_content_type']
|
248
289
|
headers["Authorization"] = "Bearer #{@session_token}" if @session_token
|
249
290
|
return self.http_put(url, headers, data)
|
250
291
|
end
|
251
292
|
|
252
293
|
# Start User context
|
253
|
-
def user_get(url)
|
254
|
-
|
255
|
-
"
|
256
|
-
"
|
294
|
+
def user_get(url, headers = nil, compatibility_options)
|
295
|
+
h = {
|
296
|
+
"Accept" => "application/json",
|
297
|
+
"ApiKey" => @api_key
|
257
298
|
}
|
258
|
-
|
259
|
-
|
299
|
+
h["Content-Type"] = "application/json" unless compatibility_options['no_content_type']
|
300
|
+
h["Authorization"] = "Bearer #{@session_token}" if @session_token
|
301
|
+
if headers
|
302
|
+
headers.each do |k,v|
|
303
|
+
h[k] = v
|
304
|
+
end
|
305
|
+
end
|
306
|
+
return self.http_get(url, h)
|
260
307
|
end
|
261
308
|
|
262
|
-
def user_post(url, data)
|
309
|
+
def user_post(url, data, compatibility_options)
|
263
310
|
headers = {
|
264
|
-
"
|
265
|
-
"
|
311
|
+
"Accept" => "application/json",
|
312
|
+
"ApiKey" => @api_key
|
266
313
|
}
|
314
|
+
headers["Content-Type"] = "application/json" unless compatibility_options['no_content_type']
|
267
315
|
headers["Authorization"] = "Bearer #{@session_token}" if @session_token
|
268
316
|
return self.http_post(url, headers, data)
|
269
317
|
end
|
270
318
|
|
271
|
-
def user_put(url, data)
|
319
|
+
def user_put(url, data, compatibility_options)
|
272
320
|
headers = {
|
273
|
-
"ApiKey" => @api_key,
|
274
321
|
"Accept" => "application/json",
|
275
|
-
"
|
322
|
+
"ApiKey" => @api_key
|
276
323
|
}
|
324
|
+
headers["Content-Type"] = "application/json" unless compatibility_options['no_content_type']
|
277
325
|
headers["Authorization"] = "Bearer #{@session_token}" if @session_token
|
278
326
|
return self.http_put(url, headers, data)
|
279
327
|
end
|
328
|
+
|
329
|
+
def user_delete(url, data, compatibility_options)
|
330
|
+
headers = {
|
331
|
+
"Accept" => "application/json",
|
332
|
+
"ApiKey" => @api_key
|
333
|
+
}
|
334
|
+
headers["Content-Type"] = "application/json" unless compatibility_options['no_content_type']
|
335
|
+
headers["Authorization"] = "Bearer #{@session_token}" if @session_token
|
336
|
+
return self.http_delete(url, headers, data)
|
337
|
+
end
|
280
338
|
# End User Context
|
281
339
|
|
282
|
-
def public_get(url, headers = nil)
|
340
|
+
def public_get(url, headers = nil, compatibility_options)
|
283
341
|
h = {
|
284
342
|
"Accept" => "application/json",
|
285
|
-
"Content-Type" => "application/json",
|
286
343
|
"ApiKey" => @api_key
|
287
344
|
}
|
345
|
+
h["Content-Type"] = "application/json" unless compatibility_options['no_content_type']
|
288
346
|
h["ContactToken"] = @contact_token_id if @contact_token_id
|
347
|
+
h["Visit-Id"] = @visit_id if @visit_id
|
289
348
|
if headers
|
290
349
|
headers.each do |k,v|
|
291
350
|
h[k] = v
|
@@ -294,12 +353,12 @@ module Mints
|
|
294
353
|
self.http_get(url, h)
|
295
354
|
end
|
296
355
|
|
297
|
-
def public_post(url, headers = nil, data)
|
356
|
+
def public_post(url, headers = nil, data, compatibility_options)
|
298
357
|
h = {
|
299
358
|
"Accept" => "application/json",
|
300
|
-
"Content-Type" => "application/json",
|
301
359
|
"ApiKey" => @api_key
|
302
360
|
}
|
361
|
+
h["Content-Type"] = "application/json" unless compatibility_options['no_content_type']
|
303
362
|
h["ContactToken"] = @session_token if @session_token
|
304
363
|
if headers
|
305
364
|
headers.each do |k,v|
|
@@ -309,12 +368,12 @@ module Mints
|
|
309
368
|
self.http_post(url, h, data)
|
310
369
|
end
|
311
370
|
|
312
|
-
def public_put(url, headers = nil, data)
|
371
|
+
def public_put(url, headers = nil, data, compatibility_options)
|
313
372
|
h = {
|
314
|
-
"Accept" => "application/json",
|
315
|
-
"Content-Type" => "application/json",
|
373
|
+
"Accept" => "application/json",
|
316
374
|
"ApiKey" => @api_key
|
317
375
|
}
|
376
|
+
h["Content-Type"] = "application/json" unless compatibility_options['no_content_type']
|
318
377
|
h["ContactToken"] = @contact_token_id if @contact_token_id
|
319
378
|
if headers
|
320
379
|
headers.each do |k,v|
|