mints 0.0.20 → 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/contact.rb +632 -72
- 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_helper.rb +2 -2
- data/lib/pub.rb +201 -71
- data/lib/user/content/assets.rb +196 -34
- metadata +3 -1
@@ -7,6 +7,8 @@ class MintsFilesGenerator < Rails::Generators::Base
|
|
7
7
|
copy_file 'mints_contact_controller.rb', './app/controllers/api/v1/mints_contact_controller.rb'
|
8
8
|
copy_file 'mints_public_controller.rb', './app/controllers/api/v1/mints_public_controller.rb'
|
9
9
|
copy_file 'mints_assets_controller.rb', './app/controllers/mints_assets_controller.rb'
|
10
|
+
copy_file 'short_link_controller.rb', './app/controllers/short_link_controller.rb'
|
11
|
+
copy_file 'mints_link.rb', './config/initializers/mints_link.rb'
|
10
12
|
route <<-eos
|
11
13
|
# Mints auto-generated routes (proxy to send request to mints.cloud)
|
12
14
|
match '/public-assets/*path' => 'mints_assets#index', via: [:get, :post, :put, :patch, :delete]
|
@@ -18,6 +20,10 @@ class MintsFilesGenerator < Rails::Generators::Base
|
|
18
20
|
match '/*path' => 'mints_public#index', via: [:get, :post, :put, :patch, :delete]
|
19
21
|
end
|
20
22
|
end
|
23
|
+
# Mints short link
|
24
|
+
get '/sl/visits', to: 'short_link#visits'
|
25
|
+
post '/sl/generate', to: 'short_link#generate'
|
26
|
+
get '/sl/:code', to: 'short_link#redirect'
|
21
27
|
eos
|
22
28
|
end
|
23
29
|
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
class MintsLink
|
2
|
+
def initialize
|
3
|
+
@host = ENV['MONGO_HOST'] || '127.0.0.1'
|
4
|
+
@database = ENV['MONGO_DATABASE'] || 'mints'
|
5
|
+
@port = ENV['MONGO_PORT'] || '27017'
|
6
|
+
@client = Mongo::Client.new([ "#{@host}:#{@port}" ], :database => @database)
|
7
|
+
@short_links = @client[:short_links]
|
8
|
+
@sl_visits = @client[:sl_visits]
|
9
|
+
generate_indexes
|
10
|
+
end
|
11
|
+
|
12
|
+
def generate(url)
|
13
|
+
code = random_string.upcase
|
14
|
+
collection = @short_links
|
15
|
+
doc = {
|
16
|
+
url: url,
|
17
|
+
code: code
|
18
|
+
}
|
19
|
+
|
20
|
+
result = collection.insert_one(doc)
|
21
|
+
if result.n === 1
|
22
|
+
code
|
23
|
+
else
|
24
|
+
false
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def get_url(code)
|
29
|
+
collection = @short_links
|
30
|
+
record = collection.find( { 'code' => code } ).first
|
31
|
+
record["url"]
|
32
|
+
end
|
33
|
+
|
34
|
+
def visit(code, url, contact_id, user_agent, ip)
|
35
|
+
collection = @sl_visits
|
36
|
+
doc = {
|
37
|
+
code: code,
|
38
|
+
url: url,
|
39
|
+
contact_id: contact_id,
|
40
|
+
user_agent: user_agent,
|
41
|
+
ip: ip
|
42
|
+
}
|
43
|
+
result = collection.insert_one(doc)
|
44
|
+
result.n === 1
|
45
|
+
end
|
46
|
+
|
47
|
+
def get_visits(filter, page = 1, pageSize = 1000)
|
48
|
+
collection = @sl_visits
|
49
|
+
collection.find(filter).sort( {_id: 1}).skip(page * pageSize - pageSize).limit(pageSize)
|
50
|
+
end
|
51
|
+
|
52
|
+
private
|
53
|
+
def random_string(length = 6)
|
54
|
+
rand(32**length).to_s(32)
|
55
|
+
end
|
56
|
+
|
57
|
+
def generate_indexes
|
58
|
+
collection = @short_links
|
59
|
+
collection.indexes.create_one({ code: 1 }, {unique: true })
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
class ShortLinkController < Mints::BaseController
|
2
|
+
skip_before_action :verify_authenticity_token
|
3
|
+
def redirect
|
4
|
+
code = params[:code]
|
5
|
+
mints_link = MintsLink.new
|
6
|
+
url = mints_link.get_url(code)
|
7
|
+
contact_id = cookies[:mints_contact_id]
|
8
|
+
user_agent = request.user_agent
|
9
|
+
ip = request.remote_ip
|
10
|
+
mints_link.visit(code, url, contact_id, user_agent, ip)
|
11
|
+
redirect_to url
|
12
|
+
end
|
13
|
+
|
14
|
+
def generate
|
15
|
+
url = params[:url]
|
16
|
+
if url =~ /(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})/
|
17
|
+
mints_link = MintsLink.new
|
18
|
+
code = mints_link.generate(url)
|
19
|
+
render json: { code: code }
|
20
|
+
else
|
21
|
+
render json: false
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def visits
|
26
|
+
code = params[:code]
|
27
|
+
contact_id = params[:contact_id]
|
28
|
+
page = params[:page] ? params[:page].to_i : 1
|
29
|
+
page_size = params[:page_size] ? params[:page_size].to_i : 1000
|
30
|
+
filter = {}
|
31
|
+
if code
|
32
|
+
filter['code'] = code
|
33
|
+
end
|
34
|
+
if contact_id
|
35
|
+
filter['contact_id'] = contact_id
|
36
|
+
end
|
37
|
+
mints_link = MintsLink.new
|
38
|
+
visits = mints_link.get_visits(filter, page, page_size)
|
39
|
+
render json: { data: {visits: visits }}
|
40
|
+
end
|
41
|
+
end
|
data/lib/mints_helper.rb
CHANGED
@@ -10,9 +10,9 @@ module MintsHelper
|
|
10
10
|
#
|
11
11
|
def get_query_results(url, options = nil, use_post = true)
|
12
12
|
if use_post
|
13
|
-
|
13
|
+
return @client.raw("post", "#{url}/query", options)
|
14
14
|
else
|
15
|
-
|
15
|
+
return @client.raw("get", url, options)
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
data/lib/pub.rb
CHANGED
@@ -103,7 +103,7 @@ module Mints
|
|
103
103
|
# "user_agent" => "User Agent",
|
104
104
|
# "fullpath" => "https://fullpath/example"
|
105
105
|
# }
|
106
|
-
# @mints_pub.register_visit(request, request["remote_ip"], request["user_agent"], request["fullpath"])
|
106
|
+
# @data = @mints_pub.register_visit(request, request["remote_ip"], request["user_agent"], request["fullpath"])
|
107
107
|
def register_visit(request, ip = nil, user_agent = nil, url = nil)
|
108
108
|
data = {
|
109
109
|
ip_address: ip || request.remote_ip,
|
@@ -123,11 +123,13 @@ module Mints
|
|
123
123
|
# time:: (Integer) -- The visitor's browser user agent.
|
124
124
|
#
|
125
125
|
# ==== Example
|
126
|
-
# @mints_pub.register_visit_timer("60da2325d29acc7e55684472", 4)
|
126
|
+
# @data = @mints_pub.register_visit_timer("60da2325d29acc7e55684472", 4)
|
127
127
|
def register_visit_timer(visit, time)
|
128
128
|
return @client.raw("get", "/register-visit-timer?visit=#{visit}&time=#{time}")
|
129
129
|
end
|
130
130
|
|
131
|
+
### V1/CONTENT ###
|
132
|
+
|
131
133
|
##
|
132
134
|
# === Get Asset Info.
|
133
135
|
# Get a description of an Asset.
|
@@ -136,22 +138,35 @@ module Mints
|
|
136
138
|
# slug:: (String) -- It's the string identifier of the asset.
|
137
139
|
#
|
138
140
|
# ==== Example
|
139
|
-
# @mints_pub.get_asset_info("asset_slug")
|
141
|
+
# @data = @mints_pub.get_asset_info("asset_slug")
|
140
142
|
def get_asset_info(slug)
|
141
143
|
return @client.raw("get", "/content/asset-info/#{slug}")
|
142
144
|
end
|
143
|
-
|
145
|
+
|
144
146
|
##
|
145
147
|
# === Get Stories.
|
146
148
|
# Get a collection of stories.
|
147
149
|
#
|
148
150
|
# ==== Parameters
|
149
151
|
# options:: (Hash) -- List of {Resource collection Options}[#class-Mints::Pub-label-Resource+collections+options+] shown above can be used as parameter.
|
152
|
+
# use_post:: (Boolean) -- Variable to determine if the request is by 'post' or 'get' functions.
|
150
153
|
#
|
151
|
-
# ==== Example
|
152
|
-
# @mints_pub.get_stories
|
153
|
-
|
154
|
-
|
154
|
+
# ==== First Example
|
155
|
+
# @data = @mints_pub.get_stories
|
156
|
+
#
|
157
|
+
# ==== Second Example
|
158
|
+
# options = {
|
159
|
+
# "fields": "id, title"
|
160
|
+
# }
|
161
|
+
# @data = @mints_pub.get_stories(options)
|
162
|
+
#
|
163
|
+
# ==== Third Example
|
164
|
+
# options = {
|
165
|
+
# "fields": "id, title"
|
166
|
+
# }
|
167
|
+
# @data = @mints_pub.get_stories(options, false)
|
168
|
+
def get_stories(options = nil, use_post = true)
|
169
|
+
return get_query_results("/content/stories", options, use_post)
|
155
170
|
end
|
156
171
|
|
157
172
|
##
|
@@ -162,8 +177,11 @@ module Mints
|
|
162
177
|
# slug:: (String) -- It's the string identifier generated by Mints.
|
163
178
|
# options:: (Hash) -- List of {Single Resource Options}[#class-Mints::Pub-label-Single+resource+options] shown above can be used as parameter.
|
164
179
|
#
|
165
|
-
# ==== Example
|
166
|
-
# @mints_pub.get_story("story_slug")
|
180
|
+
# ==== First Example
|
181
|
+
# @data = @mints_pub.get_story("story_slug")
|
182
|
+
#
|
183
|
+
# ==== Second Example
|
184
|
+
# @data = @mints_pub.get_story("story_slug", options.to_json)
|
167
185
|
def get_story(slug, options = nil)
|
168
186
|
return @client.raw("get", "/content/stories/#{slug}", options, nil, nil, nil, true)
|
169
187
|
end
|
@@ -172,13 +190,10 @@ module Mints
|
|
172
190
|
# === Get Forms.
|
173
191
|
# Get a collection of forms.
|
174
192
|
#
|
175
|
-
# ==== Parameters
|
176
|
-
# options:: (Hash) -- List of {Resource collection Options}[#class-Mints::Pub-label-Resource+collections+options+] shown above can be used as parameter.
|
177
|
-
#
|
178
193
|
# ==== Example
|
179
|
-
# @mints_pub.get_forms
|
180
|
-
def get_forms
|
181
|
-
return @client.raw("get", "/content/forms"
|
194
|
+
# @data = @mints_pub.get_forms
|
195
|
+
def get_forms
|
196
|
+
return @client.raw("get", "/content/forms")
|
182
197
|
end
|
183
198
|
|
184
199
|
##
|
@@ -187,12 +202,11 @@ module Mints
|
|
187
202
|
#
|
188
203
|
# ==== Parameters
|
189
204
|
# slug:: (String) -- It's the string identifier generated by Mints.
|
190
|
-
# options:: (Hash) -- List of {Single Resource Options}[#class-Mints::Pub-label-Single+resource+options] shown above can be used as parameter.
|
191
205
|
#
|
192
206
|
# ==== Example
|
193
|
-
# @mints_pub.get_form("form_slug")
|
194
|
-
def get_form(slug
|
195
|
-
return @client.raw("get", "/content/forms/#{slug}",
|
207
|
+
# @data = @mints_pub.get_form("form_slug")
|
208
|
+
def get_form(slug)
|
209
|
+
return @client.raw("get", "/content/forms/#{slug}", nil, nil, nil, nil, true)
|
196
210
|
end
|
197
211
|
|
198
212
|
##
|
@@ -222,7 +236,20 @@ module Mints
|
|
222
236
|
#
|
223
237
|
# ==== Parameters
|
224
238
|
# options:: (Hash) -- List of {Resource collection Options}[#class-Mints::Pub-label-Resource+collections+options+] shown above can be used as parameter.
|
225
|
-
|
239
|
+
#
|
240
|
+
# ==== First Example
|
241
|
+
# options = {
|
242
|
+
# "template": "content_instance_template_slug"
|
243
|
+
# }
|
244
|
+
# @data = @mints_pub.get_content_instances(options)
|
245
|
+
#
|
246
|
+
# ==== Second Example
|
247
|
+
# options = {
|
248
|
+
# "template": "content_instance_template_slug",
|
249
|
+
# "sort": "-id"
|
250
|
+
# }
|
251
|
+
# @data = @mints_pub.get_content_instances(options)
|
252
|
+
def get_content_instances(options)
|
226
253
|
return @client.raw("get", "/content/content-instances", options)
|
227
254
|
end
|
228
255
|
|
@@ -232,15 +259,14 @@ module Mints
|
|
232
259
|
#
|
233
260
|
# ==== Parameters
|
234
261
|
# slug:: (String) -- It's the string identifier generated by Mints.
|
235
|
-
# options:: (Hash) -- List of {Single Resource Options}[#class-Mints::Pub-label-Single+resource+options] shown above can be used as parameter.
|
236
262
|
#
|
237
263
|
# ==== Example
|
238
|
-
# @mints_pub.get_content_instance("content_instance_slug")
|
239
|
-
def get_content_instance(slug
|
240
|
-
return @client.raw("get", "/content/content-instances/#{slug}"
|
264
|
+
# @data = @mints_pub.get_content_instance("content_instance_slug")
|
265
|
+
def get_content_instance(slug)
|
266
|
+
return @client.raw("get", "/content/content-instances/#{slug}")
|
241
267
|
end
|
242
268
|
|
243
|
-
#
|
269
|
+
#Note: This method is commented for future use
|
244
270
|
##
|
245
271
|
# === Get Content Pages.
|
246
272
|
# Get all content pages.
|
@@ -257,38 +283,57 @@ module Mints
|
|
257
283
|
#
|
258
284
|
# ==== Parameters
|
259
285
|
# slug:: (String) -- It's the string identifier generated by Mints.
|
260
|
-
# options:: (Hash) -- List of {Single Resource Options}[#class-Mints::Pub-label-Single+resource+options] shown above can be used as parameter.
|
261
286
|
#
|
262
287
|
# ==== Example
|
263
|
-
# @mints_pub.get_content_page("test-page")
|
264
|
-
def get_content_page(slug
|
265
|
-
return @client.raw("get", "/content/content-pages/#{slug}",
|
288
|
+
# @data = @mints_pub.get_content_page("test-page")
|
289
|
+
def get_content_page(slug)
|
290
|
+
return @client.raw("get", "/content/content-pages/#{slug}", nil, nil, nil, nil, true)
|
266
291
|
end
|
267
292
|
|
293
|
+
### V1/ECOMMERCE ###
|
294
|
+
|
268
295
|
##
|
269
296
|
# === Get Locations.
|
270
297
|
# Get all locations.
|
271
298
|
#
|
272
299
|
# ==== Parameters
|
273
300
|
# options:: (Hash) -- List of {Resource collection Options}[#class-Mints::Pub-label-Resource+collections+options+] shown above can be used as parameter.
|
301
|
+
# use_post:: (Boolean) -- Variable to determine if the request is by 'post' or 'get' functions.
|
274
302
|
#
|
275
|
-
# ==== Example
|
276
|
-
# @mints_pub.get_locations
|
277
|
-
|
278
|
-
|
303
|
+
# ==== First Example
|
304
|
+
# @data = @mints_pub.get_locations
|
305
|
+
#
|
306
|
+
# ==== Second Example
|
307
|
+
# options = { "fields": "title" }
|
308
|
+
# @data = @mints_pub.get_locations(options)
|
309
|
+
#
|
310
|
+
# ==== Third Example
|
311
|
+
# options = { "fields": "title" }
|
312
|
+
# @data = @mints_pub.get_locations(options, false)
|
313
|
+
def get_locations(options = nil, use_post = true)
|
314
|
+
return get_query_results("/ecommerce/locations", options, use_post)
|
279
315
|
end
|
280
|
-
|
316
|
+
|
281
317
|
##
|
282
318
|
# === Get Products.
|
283
319
|
# Get a collection of products.
|
284
320
|
#
|
285
321
|
# ==== Parameters
|
286
322
|
# options:: (Hash) -- List of {Resource collection Options}[#class-Mints::Pub-label-Resource+collections+options+] shown above can be used as parameter.
|
323
|
+
# use_post:: (Boolean) -- Variable to determine if the request is by 'post' or 'get' functions.
|
287
324
|
#
|
288
|
-
# ==== Example
|
289
|
-
# @mints_pub.get_products
|
290
|
-
|
291
|
-
|
325
|
+
# ==== First Example
|
326
|
+
# @data = @mints_pub.get_products
|
327
|
+
#
|
328
|
+
# ==== Second Example
|
329
|
+
# options = { "fields": "title" }
|
330
|
+
# @data = @mints_pub.get_products(options)
|
331
|
+
#
|
332
|
+
# ==== Third Example
|
333
|
+
# options = { "fields": "title" }
|
334
|
+
# @data = @mints_pub.get_products(options, false)
|
335
|
+
def get_products(options = nil, use_post = true)
|
336
|
+
return get_query_results("/ecommerce/products", options, use_post)
|
292
337
|
end
|
293
338
|
|
294
339
|
##
|
@@ -299,43 +344,66 @@ module Mints
|
|
299
344
|
# slug:: (String) -- It's the string identifier generated by Mints.
|
300
345
|
# options:: (Hash) -- List of {Single Resource Options}[#class-Mints::Pub-label-Single+resource+options] shown above can be used as parameter.
|
301
346
|
#
|
302
|
-
# ==== Example
|
303
|
-
# @mints_pub.get_product("product_slug")
|
347
|
+
# ==== First Example
|
348
|
+
# @data = @mints_pub.get_product("product_slug")
|
349
|
+
#
|
350
|
+
# ==== Second Example
|
351
|
+
# options = {
|
352
|
+
# "fields": "id, slug"
|
353
|
+
# }
|
354
|
+
# @data = @mints_pub.get_product("lego-set", options)
|
304
355
|
def get_product(slug, options = nil)
|
305
356
|
return @client.raw("get", "/ecommerce/products/#{slug}", options, nil, nil, nil, true)
|
306
357
|
end
|
307
358
|
|
359
|
+
### V1/CONFIG ###
|
360
|
+
|
308
361
|
##
|
309
|
-
# === Get
|
310
|
-
# Get a collection of
|
362
|
+
# === Get Public Folders.
|
363
|
+
# Get a collection of public folders.
|
311
364
|
#
|
312
365
|
# ==== Parameters
|
313
|
-
# options:: (Hash) -- List of {Resource
|
366
|
+
# options:: (Hash) -- List of {Single Resource Options}[#class-Mints::Pub-label-Single+resource+options] shown above can be used as parameter.
|
314
367
|
#
|
315
|
-
# ==== Example
|
368
|
+
# ==== First Example
|
316
369
|
# options = {
|
317
|
-
# "object_type": "
|
370
|
+
# "object_type": "products"
|
371
|
+
# }
|
372
|
+
# @data = @mints_pub.get_public_folders(options)
|
373
|
+
#
|
374
|
+
# ==== Second Example
|
375
|
+
# options = {
|
376
|
+
# "object_type": "products",
|
377
|
+
# "fields": "id",
|
378
|
+
# "sort": "-id"
|
318
379
|
# }
|
319
|
-
# @mints_pub.
|
320
|
-
def
|
321
|
-
return @client.raw("get", "/config/
|
380
|
+
# @data = @mints_pub.get_public_folders(options)
|
381
|
+
def get_public_folders(options)
|
382
|
+
return @client.raw("get", "/config/public-folders", options)
|
322
383
|
end
|
323
384
|
|
324
385
|
##
|
325
|
-
# === Get
|
326
|
-
# Get a
|
386
|
+
# === Get Public Folder.
|
387
|
+
# Get a public folder info.
|
327
388
|
#
|
328
389
|
# ==== Parameters
|
329
390
|
# slug:: (String) -- It's the string identifier generated by Mints.
|
330
391
|
# options:: (Hash) -- List of {Single Resource Options}[#class-Mints::Pub-label-Single+resource+options] shown above can be used as parameter.
|
331
392
|
#
|
332
|
-
# ==== Example
|
393
|
+
# ==== First Example
|
333
394
|
# options = {
|
334
|
-
# "object_type": "
|
395
|
+
# "object_type": "products"
|
335
396
|
# }
|
336
|
-
# @mints_pub.
|
337
|
-
|
338
|
-
|
397
|
+
# @data = @mints_pub.get_public_folder('yellow', options)
|
398
|
+
#
|
399
|
+
# ==== Second Example
|
400
|
+
# options = {
|
401
|
+
# "object_type": "products",
|
402
|
+
# "fields": "id, title"
|
403
|
+
# }
|
404
|
+
# @data = @mints_pub.get_public_folder('yellow', options)
|
405
|
+
def get_public_folder(slug, options)
|
406
|
+
return @client.raw("get", "/config/public-folders/#{slug}", options)
|
339
407
|
end
|
340
408
|
|
341
409
|
##
|
@@ -345,8 +413,14 @@ module Mints
|
|
345
413
|
# ==== Parameters
|
346
414
|
# options:: (Hash) -- List of {Resource collection Options}[#class-Mints::Pub-label-Resource+collections+options+] shown above can be used as parameter.
|
347
415
|
#
|
348
|
-
# ==== Example
|
349
|
-
# @mints_pub.get_tags
|
416
|
+
# ==== First Example
|
417
|
+
# @data = @mints_pub.get_tags
|
418
|
+
#
|
419
|
+
# ==== Second Example
|
420
|
+
# options = {
|
421
|
+
# "fields": "id, tag"
|
422
|
+
# }
|
423
|
+
# @data = @mints_pub.get_tags(options)
|
350
424
|
def get_tags(options = nil)
|
351
425
|
return @client.raw("get", "/config/tags", options)
|
352
426
|
end
|
@@ -359,23 +433,42 @@ module Mints
|
|
359
433
|
# slug:: (String) -- It's the string identifier generated by Mints.
|
360
434
|
# options:: (Hash) -- List of {Single Resource Options}[#class-Mints::Pub-label-Single+resource+options] shown above can be used as parameter.
|
361
435
|
#
|
362
|
-
# ==== Example
|
363
|
-
# @mints_pub.get_tag("tag_slug")
|
436
|
+
# ==== First Example
|
437
|
+
# @data = @mints_pub.get_tag("tag_slug")
|
438
|
+
#
|
439
|
+
# ==== Second Example
|
440
|
+
# options = {
|
441
|
+
# "fields": "id, tag"
|
442
|
+
# }
|
443
|
+
# @data = @mints_pub.get_tag("velit-0", options)
|
364
444
|
def get_tag(slug, options = nil)
|
365
445
|
return @client.raw("get", "/config/tags/#{slug}", options)
|
366
446
|
end
|
367
|
-
|
447
|
+
|
368
448
|
##
|
369
449
|
# === Get Taxonomies.
|
370
450
|
# Get a collection of taxonomies.
|
371
451
|
#
|
372
452
|
# ==== Parameters
|
373
453
|
# options:: (Hash) -- List of {Resource collection Options}[#class-Mints::Pub-label-Resource+collections+options+] shown above can be used as parameter.
|
454
|
+
# use_post:: (Boolean) -- Variable to determine if the request is by 'post' or 'get' functions.
|
374
455
|
#
|
375
|
-
# ==== Example
|
376
|
-
# @mints_pub.get_taxonomies
|
377
|
-
|
378
|
-
|
456
|
+
# ==== First Example
|
457
|
+
# @data = @mints_pub.get_taxonomies
|
458
|
+
#
|
459
|
+
# ==== Second Example
|
460
|
+
# options = {
|
461
|
+
# "fields": "id, title"
|
462
|
+
# }
|
463
|
+
# @data = @mints_pub.get_taxonomies(options)
|
464
|
+
#
|
465
|
+
# ==== Third Example
|
466
|
+
# options = {
|
467
|
+
# "fields": "id, title"
|
468
|
+
# }
|
469
|
+
# @data = @mints_pub.get_taxonomies(options, false)
|
470
|
+
def get_taxonomies(options = nil, use_post = true)
|
471
|
+
return get_query_results("/config/taxonomies", options, use_post)
|
379
472
|
end
|
380
473
|
|
381
474
|
##
|
@@ -386,8 +479,14 @@ module Mints
|
|
386
479
|
# slug:: (String) -- It's the string identifier generated by Mints.
|
387
480
|
# options:: (Hash) -- List of {Single Resource Options}[#class-Mints::Pub-label-Single+resource+options] shown above can be used as parameter.
|
388
481
|
#
|
389
|
-
# ==== Example
|
390
|
-
# @mints_pub.get_taxonomy("taxonomy_slug")
|
482
|
+
# ==== First Example
|
483
|
+
# @data = @mints_pub.get_taxonomy("taxonomy_slug")
|
484
|
+
#
|
485
|
+
# ==== Second Example
|
486
|
+
# options = {
|
487
|
+
# "fields": "title"
|
488
|
+
# }
|
489
|
+
# @data = @mints_pub.get_taxonomy("taxonomy_slug", options)
|
391
490
|
def get_taxonomy(slug, options = nil)
|
392
491
|
return @client.raw("get", "/config/taxonomies/#{slug}", options)
|
393
492
|
end
|
@@ -396,14 +495,45 @@ module Mints
|
|
396
495
|
# === Get Attributes.
|
397
496
|
# Get a collection of attributes.
|
398
497
|
#
|
498
|
+
# ==== Example
|
499
|
+
# @data = @mints_pub.get_attributes
|
500
|
+
def get_attributes
|
501
|
+
return @client.raw("get", "/config/attributes")
|
502
|
+
end
|
503
|
+
|
504
|
+
# Methods deleted
|
505
|
+
##
|
506
|
+
# === Get categories.
|
507
|
+
# Get a collection of categories.
|
508
|
+
#
|
399
509
|
# ==== Parameters
|
400
510
|
# options:: (Hash) -- List of {Resource collection Options}[#class-Mints::Pub-label-Resource+collections+options+] shown above can be used as parameter.
|
401
511
|
#
|
402
512
|
# ==== Example
|
403
|
-
#
|
404
|
-
|
405
|
-
|
406
|
-
|
513
|
+
# options = {
|
514
|
+
# "object_type": "stories"
|
515
|
+
# }
|
516
|
+
# @data = @mints_pub.get_categories(options)
|
517
|
+
#def get_categories(options = nil)
|
518
|
+
# return @client.raw("get", "/config/categories", options)
|
519
|
+
#end
|
520
|
+
|
521
|
+
##
|
522
|
+
# === Get Category.
|
523
|
+
# Get a single category.
|
524
|
+
#
|
525
|
+
# ==== Parameters
|
526
|
+
# slug:: (String) -- It's the string identifier generated by Mints.
|
527
|
+
# options:: (Hash) -- List of {Single Resource Options}[#class-Mints::Pub-label-Single+resource+options] shown above can be used as parameter.
|
528
|
+
#
|
529
|
+
# ==== Example
|
530
|
+
# options = {
|
531
|
+
# "object_type": "locations"
|
532
|
+
# }
|
533
|
+
# @data = @mints_pub.get_category("asset_slug", options)
|
534
|
+
#def get_category(slug, options = nil)
|
535
|
+
# return @client.raw("get", "/config/categories/#{slug}", options)
|
536
|
+
#end
|
407
537
|
|
408
538
|
private
|
409
539
|
|