swagger_docs_generator 0.3.0.pre.18 → 0.3.0.pre.19

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 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