grape-dsl 1.0.0 → 1.1.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 +8 -8
- data/VERSION +1 -1
- data/lib/grape-dsl/doc.rb +89 -57
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NjFjODNmMTM2ZTA4MGMxM2JkNDY3MjBjYTYxMGNkYWIyYTQ0ZmJiYw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MGQ1ZDM5ZjkzNmIxOTIxYTI3NzZjZWUyNzEwMzJhYjk2OGIwYTY4Yg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZDAyZDAwNWU1Nzc2OWY4ZTA3ODk0OGJlYzdkZTA4MmI3Yjg0ZTkwMTVlMTlm
|
10
|
+
NzY1NjllNDY0ZTQ1MTAzNTgwMjMzYWU0MjIwMmRjYmNmNzdmZTRmYjhiMjZl
|
11
|
+
ZjliYjYzM2IxMTkzNDNhYjEzMDQ0OWRkMTY3OTZlN2NlZGM1ZTQ=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NGY2NjY1YzFkMjI5MDYzMmVmMTA0Nzk3NDBhN2JmZjRkZTFlMmI4OWQ3ZmRj
|
14
|
+
Nzc5NTNkZWQyNjAxODVjMWQ0NmIzZWU2YWMwMDlmNDFlYzJmYzRmMzQ1Mjlk
|
15
|
+
ZTgyOWU3ZWUwNTVhZDI1M2IzOThjOTMzNjIyYWI1ZDg3NDI0NDU=
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.1.0
|
data/lib/grape-dsl/doc.rb
CHANGED
@@ -56,8 +56,12 @@ end
|
|
56
56
|
module Grape
|
57
57
|
class << self
|
58
58
|
|
59
|
+
def syntax_highlight target,wrapper_begin,wrapper_end
|
60
|
+
return "#{wrapper_begin}#{target}#{wrapper_end}"
|
61
|
+
end
|
62
|
+
|
59
63
|
# helpers for doc generation
|
60
|
-
def
|
64
|
+
def wiki_body(route,wrapper_begin,wrapper_end,wrapper_close)
|
61
65
|
|
62
66
|
description_key= :body
|
63
67
|
tmp_array= Array.new()
|
@@ -143,7 +147,7 @@ module Grape
|
|
143
147
|
|
144
148
|
|
145
149
|
|
146
|
-
tmp_array.push(
|
150
|
+
tmp_array.push syntax_highlight(content_type.to_s,wrapper_begin,wrapper_end)
|
147
151
|
|
148
152
|
require "json"
|
149
153
|
|
@@ -160,16 +164,12 @@ module Grape
|
|
160
164
|
formatted_string.gsub!(/^"/," \"")
|
161
165
|
|
162
166
|
tmp_array.push formatted_string
|
163
|
-
tmp_array.push
|
167
|
+
tmp_array.push wrapper_close
|
164
168
|
end
|
165
169
|
|
166
170
|
when "txt"
|
167
171
|
begin
|
168
|
-
|
169
|
-
tmp_array.push("<pre>")
|
170
172
|
tmp_array.push(params.inspect)
|
171
|
-
tmp_array.push("</pre>")
|
172
|
-
|
173
173
|
end
|
174
174
|
|
175
175
|
|
@@ -225,7 +225,7 @@ module Grape
|
|
225
225
|
## for all grape subclass (directs and indirects)
|
226
226
|
#Grape.create_redmine_wiki_doc path: File.expand_path(File.join(File.dirname(__FILE__),"test_file.txt"))
|
227
227
|
#
|
228
|
-
def
|
228
|
+
def create_wiki_doc(*args)
|
229
229
|
|
230
230
|
# default set in args
|
231
231
|
begin
|
@@ -254,24 +254,85 @@ module Grape
|
|
254
254
|
end
|
255
255
|
end
|
256
256
|
|
257
|
-
|
257
|
+
args[:type] ||= args[:doc_type]
|
258
|
+
args[:type] ||= 'wiki'
|
258
259
|
|
259
260
|
#args[:path],
|
260
261
|
#args[:extra_desc_file]
|
261
262
|
#args[:target_class]
|
263
|
+
#args[:type]
|
264
|
+
|
265
|
+
end
|
266
|
+
|
267
|
+
|
268
|
+
# defaults
|
269
|
+
begin
|
270
|
+
|
271
|
+
uni_tab= ""
|
272
|
+
case args[:type].to_s.downcase
|
273
|
+
|
274
|
+
when "redmine","redmine_wiki","redmine-wiki","redminewiki"
|
275
|
+
begin
|
276
|
+
|
277
|
+
mid_tab= " "*3
|
278
|
+
|
279
|
+
bsym= "*"
|
280
|
+
isym= "_"
|
281
|
+
|
282
|
+
htsym= "* "
|
283
|
+
mtsym= htsym[0]*2 +" "
|
284
|
+
stsym= htsym[0]*3 +" "
|
285
|
+
|
286
|
+
hheader= "h3. "
|
287
|
+
mheader= "h4. "
|
288
|
+
sheader= "h5. "
|
289
|
+
|
290
|
+
container_markup_begin= "<pre><code class=\""
|
291
|
+
container_markup_end= "\">"
|
292
|
+
container_markup_close= "</code></pre>"
|
293
|
+
|
294
|
+
end
|
295
|
+
|
296
|
+
when "github","wiki","md"
|
297
|
+
begin
|
298
|
+
|
299
|
+
mid_tab= " "*3
|
300
|
+
|
301
|
+
bsym= "*"
|
302
|
+
isym= "_"
|
303
|
+
|
304
|
+
htsym= "* "
|
305
|
+
mtsym= htsym[0]*2 +" "
|
306
|
+
stsym= htsym[0]*3 +" "
|
307
|
+
|
308
|
+
hheader= "# "
|
309
|
+
mheader= hheader[0]*2 +" "
|
310
|
+
sheader= hheader[0]*3 +" "
|
311
|
+
|
312
|
+
container_markup_begin= "```"
|
313
|
+
container_markup_end= ""
|
314
|
+
container_markup_close= "```"
|
315
|
+
|
316
|
+
end
|
317
|
+
|
318
|
+
else
|
319
|
+
raise ArgumentError, "invalid :type has been set, try github or redmine"
|
320
|
+
|
321
|
+
end
|
262
322
|
|
263
323
|
end
|
264
324
|
|
265
325
|
# site name
|
266
326
|
begin
|
267
327
|
write_out_array = Array.new
|
268
|
-
write_out_array.push "
|
269
|
-
write_out_array.push "
|
328
|
+
write_out_array.push "#{hheader}Database Rest Control Layer Documentation\n"
|
329
|
+
write_out_array.push "#{mheader}REST application routes:\n"
|
270
330
|
end
|
271
331
|
|
332
|
+
|
272
333
|
# description
|
273
334
|
begin
|
274
|
-
write_out_array.push "
|
335
|
+
write_out_array.push "#{sheader}this is the documentation for #{$0} rest calls\n\n"+
|
275
336
|
" the main function is to create a control layer to the database,\n"+
|
276
337
|
"with interactive commands, that can handle multiple way from ask requests,\n"+
|
277
338
|
"like regexp search by string, or different parameters for an array ask,\n"+
|
@@ -280,7 +341,7 @@ module Grape
|
|
280
341
|
"like read from db, create in the db or update in the db by xy params, and how.\n"
|
281
342
|
|
282
343
|
args[:desc_files].each do |extra_desc_file_path|
|
283
|
-
write_out_array.push "
|
344
|
+
write_out_array.push "#{sheader}#{extra_desc_file_path.split(File::Separator).last.split('.')[0].downcase.capitalize}\n"
|
284
345
|
write_out_array.push "<pre>"
|
285
346
|
write_out_array.push File.open(extra_desc_file_path,"r").read
|
286
347
|
write_out_array.push "</pre>\n"
|
@@ -292,7 +353,6 @@ module Grape
|
|
292
353
|
write_out_array.push "\n{{>toc}}\n"
|
293
354
|
end
|
294
355
|
|
295
|
-
|
296
356
|
# classes array
|
297
357
|
begin
|
298
358
|
rest_models= Array.new
|
@@ -312,27 +372,8 @@ module Grape
|
|
312
372
|
next if Grape::API == rest_api_model
|
313
373
|
rest_api_model.routes.map do |route|
|
314
374
|
|
315
|
-
# defaults
|
316
|
-
begin
|
317
|
-
|
318
|
-
uni_tab= " "*0
|
319
|
-
mid_tab= " "*3
|
320
|
-
|
321
|
-
bsym= "*"
|
322
|
-
isym= "_"
|
323
|
-
|
324
|
-
htsym= "* "
|
325
|
-
mtsym= "** "
|
326
|
-
stsym= "*** "
|
327
375
|
|
328
|
-
|
329
|
-
mheader= "h4. "
|
330
|
-
sheader= "h5. "
|
331
|
-
method_name= "#{hheader}Request: #{route.route_path} call: #{route.route_method.to_s.downcase} part"
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
end
|
376
|
+
method_name= "#{hheader}Request: #{route.route_path} call: #{route.route_method.to_s.downcase} part"
|
336
377
|
|
337
378
|
# check that does the method already in the documentation
|
338
379
|
unless write_out_array.include?(method_name)
|
@@ -395,20 +436,6 @@ module Grape
|
|
395
436
|
write_out_array.push ""
|
396
437
|
end
|
397
438
|
|
398
|
-
# create request type for code format class
|
399
|
-
# create request body contents
|
400
|
-
#begin
|
401
|
-
# if rest_api_model.content_types.count == 1
|
402
|
-
# write_out_array.push((uni_tab*2)+"#{htsym}*body:*")
|
403
|
-
#
|
404
|
-
# redmine_body(rest_api_model,route).each do |one_element|
|
405
|
-
# write_out_array.push one_element
|
406
|
-
# end
|
407
|
-
#
|
408
|
-
# end
|
409
|
-
# write_out_array.push ""
|
410
|
-
#end
|
411
|
-
|
412
439
|
# parameters
|
413
440
|
begin
|
414
441
|
new_docs_element= Array.new
|
@@ -442,21 +469,26 @@ module Grape
|
|
442
469
|
write_out_array.push("\n#{mheader}response\n")
|
443
470
|
end
|
444
471
|
|
445
|
-
#
|
472
|
+
#create route content_type
|
446
473
|
begin
|
447
|
-
|
448
|
-
rest_api_model.content_types.each do |one_format_type,one_format_header|
|
449
|
-
write_out_array.push "#{mtsym}#{uni_tab*2}#{one_format_header}"
|
450
|
-
end
|
474
|
+
if !Grape::Endpoint.config_obj.nil?
|
451
475
|
|
452
|
-
|
476
|
+
write_out_array.push((uni_tab*2)+"#{sheader}Extra headers:")
|
477
|
+
|
478
|
+
Grape::Endpoint.header_config_obj.each do |header_key,header_value|
|
479
|
+
write_out_array.push "#{htsym}#{header_key}: #{header_value.join(', ')}"
|
480
|
+
end
|
481
|
+
|
482
|
+
write_out_array.push ""
|
483
|
+
|
484
|
+
end
|
453
485
|
end
|
454
486
|
|
455
487
|
# create response bodies
|
456
488
|
begin
|
457
489
|
#TODO check out why not working normaly with evry path!
|
458
|
-
write_out_array.push((uni_tab*2)+"#{
|
459
|
-
|
490
|
+
write_out_array.push((uni_tab*2)+"#{sheader}*body:*")
|
491
|
+
wiki_body(route,container_markup_begin,container_markup_end,container_markup_close ).each do |one_element|
|
460
492
|
write_out_array.push one_element
|
461
493
|
end
|
462
494
|
write_out_array.push ""
|
@@ -500,7 +532,7 @@ module Grape
|
|
500
532
|
return nil
|
501
533
|
end
|
502
534
|
|
503
|
-
alias :create_ppt_doc :
|
535
|
+
alias :create_ppt_doc :create_wiki_doc
|
504
536
|
|
505
537
|
end
|
506
538
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grape-dsl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Luzsi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-02-
|
11
|
+
date: 2014-02-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: procemon
|