swagger_docs_generator 0.3.0.pre.18 → 0.3.0.pre.19
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/swagger_docs_generator/info.rb +19 -0
- data/lib/swagger_docs_generator/metadata/definition.rb +14 -5
- data/lib/swagger_docs_generator/methods.rb +1 -1
- data/lib/swagger_docs_generator/parser/actions/actions.rb +1 -34
- data/lib/swagger_docs_generator/parser/actions/schema.rb +7 -6
- data/lib/swagger_docs_generator/parser/definition.rb +1 -1
- metadata +19 -8
- data/lib/swagger_docs_generator/parser/actions/consumes.rb +0 -25
- data/lib/swagger_docs_generator/parser/actions/deprecated.rb +0 -17
- data/lib/swagger_docs_generator/parser/actions/description.rb +0 -17
- data/lib/swagger_docs_generator/parser/actions/produces.rb +0 -25
- data/lib/swagger_docs_generator/parser/actions/summary.rb +0 -17
- data/lib/swagger_docs_generator/parser/actions/tags.rb +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e90f590a98d7160ff707934cffefbba3ec044944
|
4
|
+
data.tar.gz: 086ba2cb5900b201a2a3b9d328203a37f41fd85e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4832c1a5bd858f5c1833a3de24418ea6de110404d034820900e071c3714fdcb1e093444f92408865a00a04d1aca8d23d35591e16dec7feebe12ceb5345ec796b
|
7
|
+
data.tar.gz: 47761d497315d39cb9a061a4b2173b3ea2204a89966e977b86db6f4ea9e2bfbf52d4059cac63ab3b5a368f5452af23f622b7f7bb871e84a1461337cc3c5c8bdb
|
@@ -18,4 +18,23 @@ module SwaggerDocsGenerator
|
|
18
18
|
HOMEPAGE = 'https://github.com/Dev-Crea/swagger-docs-generator'
|
19
19
|
# License
|
20
20
|
LICENSE = 'MIT'
|
21
|
+
# Define a post install message
|
22
|
+
POST_INSTALL = \
|
23
|
+
"# ====================================================== #\n" \
|
24
|
+
"# Thanks for installing SwaggerDocsGenerator ! #\n" \
|
25
|
+
"# #{HOMEPAGE}. #\n" \
|
26
|
+
"# ;;;;;;;;;;;:. #\n" \
|
27
|
+
"# ;;;;;;;;;;;;;;;;;; #\n" \
|
28
|
+
"# ;;;;;;;;;;;:;;;;;;;; #\n" \
|
29
|
+
"# ;;;;;;;;;;` ;;;;;;;; #\n" \
|
30
|
+
"# ;;;;;;;;; :;;;;;;;;. #\n" \
|
31
|
+
"# ;;;;;;;; :::::;;;;; #\n" \
|
32
|
+
"# ;;;;;;, ,;;;;;; #\n" \
|
33
|
+
"# ;;;;; ;;;;;;;; #\n" \
|
34
|
+
"# ;;;;;;;;; ;;;;;;;;, #\n" \
|
35
|
+
"# ;;;;;;;;; `;;;;;;;;; A ZZZZZZZ ZZZZZZZ LL #\n" \
|
36
|
+
"# ;;;;;;;;.:;;;;;;;;;; A A ZZZ ZZZ LL #\n" \
|
37
|
+
"# ;;;;;;;;;;;;;;;;; AAAAA ZZ ZZ LL #\n" \
|
38
|
+
"# ;;;;;;;;;;;;;, A A ZZZZZZZ ZZZZZZZ LLLLLLL #\n" \
|
39
|
+
'# ====================================================== #'
|
21
40
|
end
|
@@ -21,7 +21,7 @@ module SwaggerDocsGenerator
|
|
21
21
|
private
|
22
22
|
|
23
23
|
def search_definition
|
24
|
-
find_models.merge!(
|
24
|
+
find_models.merge!(find_in_jsons)
|
25
25
|
end
|
26
26
|
|
27
27
|
def find_models
|
@@ -33,11 +33,10 @@ module SwaggerDocsGenerator
|
|
33
33
|
hash
|
34
34
|
end
|
35
35
|
|
36
|
-
def
|
36
|
+
def find_in_jsons
|
37
37
|
hash = {}
|
38
|
-
|
39
|
-
file
|
40
|
-
hash.merge!(read_file(file)) if File.exist?(file)
|
38
|
+
files_tmp.each do |file|
|
39
|
+
hash.merge!(read_part_json(file, 'definitions'))
|
41
40
|
end
|
42
41
|
hash
|
43
42
|
end
|
@@ -73,5 +72,15 @@ module SwaggerDocsGenerator
|
|
73
72
|
File.join(SwaggerDocsGenerator.temporary_folder,
|
74
73
|
"#{controller.controller_name}.json")
|
75
74
|
end
|
75
|
+
|
76
|
+
# :reek:UtilityFunction
|
77
|
+
def files_tmp
|
78
|
+
Dir[Rails.root.join(SwaggerDocsGenerator.temporary_folder, '*.json')]
|
79
|
+
end
|
80
|
+
|
81
|
+
# :reek:UtilityFunction
|
82
|
+
def read_part_json(file, key)
|
83
|
+
JSON.parse(File.read(file))[key]
|
84
|
+
end
|
76
85
|
end
|
77
86
|
end
|
@@ -23,7 +23,7 @@ module SwaggerDocsGenerator
|
|
23
23
|
# Complete definitions objects for each controller.
|
24
24
|
def swagger_definition(name, &block)
|
25
25
|
parse = ParserDefinition.new(name, &block)
|
26
|
-
parse.
|
26
|
+
parse.adding_definition
|
27
27
|
end
|
28
28
|
|
29
29
|
alias scontroller swagger_controller
|
@@ -1,44 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module SwaggerDocsGenerator
|
4
|
+
# Contains all actions in parser
|
4
5
|
module Actions
|
5
|
-
# # Test value in actions
|
6
|
-
#
|
7
|
-
# @abstract classes for all actions class
|
8
|
-
# @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#operation-object
|
9
|
-
class Actions
|
10
|
-
attr_reader :hash, :key
|
11
|
-
|
12
|
-
def initialize(key)
|
13
|
-
@key = key
|
14
|
-
@hash = { @key => {} }
|
15
|
-
end
|
16
|
-
|
17
|
-
def hash
|
18
|
-
@hash[@key] ? @hash : {}
|
19
|
-
end
|
20
|
-
|
21
|
-
# List to all childrens
|
22
|
-
def self.descendants
|
23
|
-
ObjectSpace.each_object(Class).select { |klass| klass < self }
|
24
|
-
end
|
25
|
-
|
26
|
-
private
|
27
|
-
|
28
|
-
def complete_hash(data)
|
29
|
-
raw ||= data[@key]
|
30
|
-
@hash[@key] = raw
|
31
|
-
end
|
32
|
-
end
|
33
6
|
end
|
34
7
|
end
|
35
8
|
|
36
|
-
require 'swagger_docs_generator/parser/actions/tags'
|
37
|
-
require 'swagger_docs_generator/parser/actions/summary'
|
38
|
-
require 'swagger_docs_generator/parser/actions/description'
|
39
9
|
require 'swagger_docs_generator/parser/actions/response'
|
40
|
-
require 'swagger_docs_generator/parser/actions/consumes'
|
41
|
-
require 'swagger_docs_generator/parser/actions/produces'
|
42
|
-
require 'swagger_docs_generator/parser/actions/deprecated'
|
43
10
|
require 'swagger_docs_generator/parser/actions/parameters'
|
44
11
|
require 'swagger_docs_generator/parser/actions/schema'
|
@@ -1,23 +1,24 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# :reek:InstanceVariableAssumption
|
4
3
|
module SwaggerDocsGenerator
|
5
4
|
module Actions
|
6
|
-
#
|
7
|
-
#
|
8
|
-
# Parse repsonse and create schema swagger object
|
5
|
+
# Create object swagger Schema
|
9
6
|
class Schema
|
10
7
|
def initialize(&block)
|
8
|
+
@definition = nil
|
9
|
+
@type = 'array'
|
11
10
|
instance_eval(&block) if block_given?
|
12
11
|
end
|
13
12
|
|
14
13
|
def to_hash
|
15
|
-
element = { type: @type
|
16
|
-
element.merge!(items: { '$ref': @definition })
|
14
|
+
element = { type: @type }
|
15
|
+
element.merge!(items: { '$ref': @definition })
|
17
16
|
end
|
18
17
|
|
19
18
|
private
|
20
19
|
|
20
|
+
attr_reader :type, :definition
|
21
|
+
|
21
22
|
def type(text)
|
22
23
|
@type = text
|
23
24
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: swagger_docs_generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.0.pre.
|
4
|
+
version: 0.3.0.pre.19
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- VAILLANT Jeremy
|
@@ -260,20 +260,14 @@ files:
|
|
260
260
|
- lib/swagger_docs_generator/models/mongo.rb
|
261
261
|
- lib/swagger_docs_generator/parser/action.rb
|
262
262
|
- lib/swagger_docs_generator/parser/actions/actions.rb
|
263
|
-
- lib/swagger_docs_generator/parser/actions/consumes.rb
|
264
|
-
- lib/swagger_docs_generator/parser/actions/deprecated.rb
|
265
|
-
- lib/swagger_docs_generator/parser/actions/description.rb
|
266
263
|
- lib/swagger_docs_generator/parser/actions/parameters.rb
|
267
264
|
- lib/swagger_docs_generator/parser/actions/parameters/body.rb
|
268
265
|
- lib/swagger_docs_generator/parser/actions/parameters/form.rb
|
269
266
|
- lib/swagger_docs_generator/parser/actions/parameters/header.rb
|
270
267
|
- lib/swagger_docs_generator/parser/actions/parameters/path.rb
|
271
268
|
- lib/swagger_docs_generator/parser/actions/parameters/query.rb
|
272
|
-
- lib/swagger_docs_generator/parser/actions/produces.rb
|
273
269
|
- lib/swagger_docs_generator/parser/actions/response.rb
|
274
270
|
- lib/swagger_docs_generator/parser/actions/schema.rb
|
275
|
-
- lib/swagger_docs_generator/parser/actions/summary.rb
|
276
|
-
- lib/swagger_docs_generator/parser/actions/tags.rb
|
277
271
|
- lib/swagger_docs_generator/parser/controller.rb
|
278
272
|
- lib/swagger_docs_generator/parser/definition.rb
|
279
273
|
- lib/swagger_docs_generator/parser/model.rb
|
@@ -302,7 +296,24 @@ homepage: https://github.com/Dev-Crea/swagger-docs-generator
|
|
302
296
|
licenses:
|
303
297
|
- MIT
|
304
298
|
metadata: {}
|
305
|
-
post_install_message:
|
299
|
+
post_install_message: |-
|
300
|
+
# ====================================================== #
|
301
|
+
# Thanks for installing SwaggerDocsGenerator ! #
|
302
|
+
# https://github.com/Dev-Crea/swagger-docs-generator. #
|
303
|
+
# ;;;;;;;;;;;:. #
|
304
|
+
# ;;;;;;;;;;;;;;;;;; #
|
305
|
+
# ;;;;;;;;;;;:;;;;;;;; #
|
306
|
+
# ;;;;;;;;;;` ;;;;;;;; #
|
307
|
+
# ;;;;;;;;; :;;;;;;;;. #
|
308
|
+
# ;;;;;;;; :::::;;;;; #
|
309
|
+
# ;;;;;;, ,;;;;;; #
|
310
|
+
# ;;;;; ;;;;;;;; #
|
311
|
+
# ;;;;;;;;; ;;;;;;;;, #
|
312
|
+
# ;;;;;;;;; `;;;;;;;;; A ZZZZZZZ ZZZZZZZ LL #
|
313
|
+
# ;;;;;;;;.:;;;;;;;;;; A A ZZZ ZZZ LL #
|
314
|
+
# ;;;;;;;;;;;;;;;;; AAAAA ZZ ZZ LL #
|
315
|
+
# ;;;;;;;;;;;;;, A A ZZZZZZZ ZZZZZZZ LLLLLLL #
|
316
|
+
# ====================================================== #
|
306
317
|
rdoc_options: []
|
307
318
|
require_paths:
|
308
319
|
- lib
|
@@ -1,25 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module SwaggerDocsGenerator
|
4
|
-
module Actions
|
5
|
-
# # Test :consumes
|
6
|
-
#
|
7
|
-
# Complete consume field for action
|
8
|
-
class Consumes < Actions
|
9
|
-
VALUE = :consumes
|
10
|
-
|
11
|
-
def initialize(data)
|
12
|
-
super(VALUE)
|
13
|
-
complete_hash(data)
|
14
|
-
end
|
15
|
-
|
16
|
-
private
|
17
|
-
|
18
|
-
def complete_hash(data)
|
19
|
-
default = ['application/json']
|
20
|
-
raw = data.key?(key) ? data[key] : default
|
21
|
-
hash[key] = raw
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module SwaggerDocsGenerator
|
4
|
-
module Actions
|
5
|
-
# # Test :deprecated
|
6
|
-
#
|
7
|
-
# Complete deprected field for action
|
8
|
-
class Deprecated < Actions
|
9
|
-
VALUE = :deprecated
|
10
|
-
|
11
|
-
def initialize(data)
|
12
|
-
super(VALUE)
|
13
|
-
complete_hash(data)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module SwaggerDocsGenerator
|
4
|
-
module Actions
|
5
|
-
# # Test :description
|
6
|
-
#
|
7
|
-
# Complete description field for action
|
8
|
-
class Description < Actions
|
9
|
-
VALUE = :description
|
10
|
-
|
11
|
-
def initialize(data)
|
12
|
-
super(VALUE)
|
13
|
-
complete_hash(data)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module SwaggerDocsGenerator
|
4
|
-
module Actions
|
5
|
-
# # Test :produces
|
6
|
-
#
|
7
|
-
# Complete consume field for action
|
8
|
-
class Produces < Actions
|
9
|
-
VALUE = :produces
|
10
|
-
|
11
|
-
def initialize(data)
|
12
|
-
super(VALUE)
|
13
|
-
complete_hash(data)
|
14
|
-
end
|
15
|
-
|
16
|
-
private
|
17
|
-
|
18
|
-
def complete_hash(data)
|
19
|
-
default = ['application/json']
|
20
|
-
raw = data.key?(key) ? data[key] : default
|
21
|
-
hash[key] = raw
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module SwaggerDocsGenerator
|
4
|
-
module Actions
|
5
|
-
# # Test :summary
|
6
|
-
#
|
7
|
-
# Complete summary field for action
|
8
|
-
class Summary < Actions
|
9
|
-
VALUE = :summary
|
10
|
-
|
11
|
-
def initialize(data)
|
12
|
-
super(VALUE)
|
13
|
-
complete_hash(data)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module SwaggerDocsGenerator
|
4
|
-
module Actions
|
5
|
-
# # Test :tags
|
6
|
-
#
|
7
|
-
# Complete tags field for action
|
8
|
-
class Tags < Actions
|
9
|
-
VALUE = :tags
|
10
|
-
|
11
|
-
def initialize(data)
|
12
|
-
super(VALUE)
|
13
|
-
complete_hash(data)
|
14
|
-
end
|
15
|
-
|
16
|
-
private
|
17
|
-
|
18
|
-
def complete_hash(data)
|
19
|
-
hash[key] = [data]
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|