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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b051b9f9b3126e0dfde300b94560f20a5960cbfd
4
- data.tar.gz: 9cb75ad8328e271617bbb2a0bfa5f5b1b5971588
3
+ metadata.gz: e90f590a98d7160ff707934cffefbba3ec044944
4
+ data.tar.gz: 086ba2cb5900b201a2a3b9d328203a37f41fd85e
5
5
  SHA512:
6
- metadata.gz: 2f8aef3acd286a908de1e73a170f9f67c8dd9ef2f401d17c77580014bf84a28ff0777181202437064b547c1c19271ad3671c2f014055b9c8261023954b5e579d
7
- data.tar.gz: d7c2943197818158acf799cfd96e11cd0feeff52254171a72d5fde516c70003cd18f2177c4602bc6cf55037eccdc751b30b93d70ca2a4ad4b274d9abb43a7f5b
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!(find_in_controller)
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 find_in_controller
36
+ def find_in_jsons
37
37
  hash = {}
38
- all_class_documentation.each do |controller|
39
- file = temporary_file(controller::CONTROLLER)
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.adding_defintion
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
- # Object Schema
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 || 'array' }
16
- element.merge!(items: { '$ref': @definition }) if @definition.present?
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
@@ -13,7 +13,7 @@ module SwaggerDocsGenerator
13
13
  instance_eval(&block)
14
14
  end
15
15
 
16
- def adding_defintion
16
+ def adding_definition
17
17
  json = JSON.parse(File.read(temporary_file))
18
18
  File.open(temporary_file, 'w') do |file|
19
19
  json['definitions'].merge!(construct_definition)
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.18
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