swagger_docs_generator 0.2.0.pre.10 → 0.2.0.pre.11

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: 6db6476d8a74fb1036694844728c899992a59ab5
4
- data.tar.gz: 4e076fb6834a2a24c733393118efad97dd8e2c42
3
+ metadata.gz: 0e45753803dd76bb3478784c1b0fe4d9d84a8812
4
+ data.tar.gz: c0963b4195cb065a63cdef9262128b0ef339826b
5
5
  SHA512:
6
- metadata.gz: 68ee2e3c1904de34c1ad42da475a6f9af5526ff66ec0e623564ac9dbc372d824d3ece0f78a44acaaa2e2d5a9c3b67a9b1c2eb1fdcdd53170daf1cd9369142f16
7
- data.tar.gz: 906d679e89ca512f47fc290540f5e3b44f8e14652fce4add4f09720e3d8915d00272a4450246c7dd9c0e8a64125ad27172ca4cca081c81ae83c6c3bf951ce0f6
6
+ metadata.gz: c146f8a0015cd59c8a8ad53e991cb1551ebf5338d67b23536f536318721e4a0c5a52e0e6ea213698d763e7d86f7d9e097856eafe4c674dd2b5484b13a994e80d
7
+ data.tar.gz: 1089f0afbd625f7f98cb87422998b53f102d33b3c71cf5a7e2732e12e0f97885f064fe01d7df23801e8629efa4561f7ab0db37d75757565d0b706179d6e6bec0
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Swagger::Docs::Generator | [![Build Status](https://travis-ci.org/Dev-Crea/swagger-docs-generator.svg?branch=master)](https://travis-ci.org/Dev-Crea/swagger-docs-generator) [![Gem Version](https://badge.fury.io/rb/swagger_docs_generator.svg)](https://badge.fury.io/rb/swagger_docs_generator) [![Inline docs](https://inch-ci.org/github/Dev-Crea/swagger-docs-generator.svg)](https://inch-ci.org/github/Dev-Crea/swagger-docs-generator)
1
+ # Swagger::Docs::Generator | [![Travis][1]][2] [![Gem][21]][22] [![Docs][11]][12]
2
2
 
3
3
  Generator for Swagger Apps ([Example with theme](https://github.com/Dev-Crea/swagger-ui))
4
4
 
@@ -10,7 +10,6 @@ Generator for Swagger Apps ([Example with theme](https://github.com/Dev-Crea/swa
10
10
  * [Development](#development)
11
11
  * [Contributing](#contributing)
12
12
 
13
-
14
13
  ## How to use
15
14
 
16
15
  ### Installation
@@ -24,13 +23,13 @@ gem 'swagger-docs-generator'
24
23
  And then execute :
25
24
 
26
25
  ```linux
27
- $ bundle
26
+ bundle
28
27
  ```
29
28
 
30
29
  Or install it yourself as :
31
30
 
32
31
  ```linux
33
- $ gem install swagger-docs-generator
32
+ gem install swagger_docs_generator
34
33
  ```
35
34
 
36
35
  ### Usage
@@ -62,7 +61,16 @@ push git commits and tags, and push the `.gem` file to
62
61
  ## Contributing
63
62
 
64
63
  Bug reports and pull requests are welcome on GitHub at
65
- https://github.com/Dev-Crea/swagger-docs-generator. This project is intended to
64
+ <https://github.com/Dev-Crea/swagger-docs-generator>. This project is intended to
66
65
  be a safe, welcoming space for collaboration, and contributors are expected to
67
66
  adhere to the [Contributor Covenant](http://contributor-covenant.org)
68
67
  code of conduct.
68
+
69
+ [1]: https://travis-ci.org/Dev-Crea/swagger-docs-generator.svg?branch=master
70
+ [2]: https://travis-ci.org/Dev-Crea/swagger-docs-generator
71
+
72
+ [11]: https://badge.fury.io/rb/swagger_docs_generator.svg
73
+ [12]: https://badge.fury.io/rb/swagger_docs_generator
74
+
75
+ [21]: https://inch-ci.org/github/Dev-Crea/swagger-docs-generator.svg
76
+ [22]: https://inch-ci.org/github/Dev-Crea/swagger-docs-generator
@@ -19,14 +19,16 @@ module SwaggerDocsGenerator
19
19
  class Configuration
20
20
  attr_accessor :swagger, :base_path, :schemes, :consumes, :produces,
21
21
  :host, :paths, :definitions, :security_definitions,
22
- :security, :tags, :external_docs, :base_controller
22
+ :security, :tags, :external_docs, :base_controller, :cleanning
23
23
 
24
24
  SWAGGER = '2.0'
25
+ CLEANNING = true
25
26
 
26
27
  # Initalize default value (and requried) for json swagger file
27
28
  def initialize
28
29
  @swagger = SWAGGER
29
30
  @base_controller = ''
31
+ @cleanning = CLEANNING
30
32
  end
31
33
  end
32
34
 
@@ -25,15 +25,30 @@ module SwaggerDocsGenerator
25
25
  end
26
26
 
27
27
  # Delete files temporary
28
- # @todo necessary ?
29
28
  def delete_temporary_files
30
- # FileUtils.rm_rf(@version)
29
+ FileUtils.remove_dir(@version) if SwaggerDocsGenerator.configure.cleanning
30
+ end
31
+
32
+ def info_swagger_file
33
+ create_info_text(@swagger_file)
34
+ end
35
+
36
+ def info_swagger_temporary
37
+ create_info_text(@version)
31
38
  end
32
39
 
33
40
  private
34
41
 
35
42
  attr_reader :meta
36
43
 
44
+ def prefix_info
45
+ '->'
46
+ end
47
+
48
+ def create_info_text(message)
49
+ "#{prefix_info} #{message}"
50
+ end
51
+
37
52
  # :reek:UtilityFunction
38
53
  def path
39
54
  File.join(Dir.pwd, '/public')
@@ -9,17 +9,32 @@ module SwaggerDocsGenerator
9
9
  def initialize
10
10
  @file_path = File.join(Dir.pwd, 'public',
11
11
  SwaggerDocsGenerator.configure_info.version)
12
- conf = SwaggerDocsGenerator.configure.base_controller
13
- @controllers = if conf.is_a?(String)
14
- ApplicationController.subclasses
15
- else
16
- conf.subclasses
12
+ @conf = SwaggerDocsGenerator.configure.base_controller
13
+ @controllers = case @conf
14
+ when String then string_controller
15
+ when Array then array_controller
16
+ when Class then class_controller
17
17
  end
18
18
  end
19
19
 
20
20
  private
21
21
 
22
22
  attr_accessor :controllers, :file_path
23
+
24
+ # :reek:UtilityFunction
25
+ def string_controller
26
+ ApplicationController.subclasses
27
+ end
28
+
29
+ def array_controller
30
+ array = []
31
+ @conf.map { |controller| array |= controller.subclasses }
32
+ array
33
+ end
34
+
35
+ def class_controller
36
+ @conf.subclasses
37
+ end
23
38
  end
24
39
  end
25
40
 
@@ -1,13 +1,24 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  namespace :swagger do
3
4
  desc 'Generate Swagger Documentation files'
4
5
  task docs: :environment do
5
- puts 'Create Swagger File in public/swagger.json'
6
6
  swag = SwaggerDocsGenerator::Generator.new
7
+
8
+ puts 'Create Swagger File in :'
9
+ puts swag.info_swagger_file
10
+
7
11
  # Reload all controller before parsing
8
12
  Rails.application.eager_load!
13
+
9
14
  # Generates files
15
+ puts
16
+ puts 'Generate doc file :'
10
17
  swag.generate_swagger_file
18
+
19
+ puts
20
+ puts 'Delete temporary file :'
21
+ puts swag.info_swagger_temporary
11
22
  swag.delete_temporary_files
12
23
  end
13
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: swagger_docs_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0.pre.10
4
+ version: 0.2.0.pre.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - VAILLANT Jeremy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-13 00:00:00.000000000 Z
11
+ date: 2017-03-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler