r2-oas 0.1.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -0
  3. data/.rubocop.yml +6 -3
  4. data/.rubocop_todo.yml +68 -1
  5. data/.travis.yml +6 -2
  6. data/Appraisals +13 -0
  7. data/CHANGELOG.md +58 -1
  8. data/GEMSPEC.md +20 -0
  9. data/README.ja.md +65 -396
  10. data/README.md +62 -392
  11. data/devscript/all_support_ruby.sh +43 -0
  12. data/devscript/bundle_for_all_support_ruby.sh +31 -0
  13. data/devscript/rspec_for_all_support_ruby.sh +27 -0
  14. data/docs/.nojekyll +0 -0
  15. data/docs/README.md +173 -0
  16. data/docs/_sidebar.md +25 -0
  17. data/docs/attention/if_clash.md +17 -0
  18. data/docs/index.html +29 -0
  19. data/docs/{versions/v3.md → schema/3.0.0.md} +1 -1
  20. data/docs/setting/COC.md +14 -0
  21. data/docs/setting/CORS.md +22 -0
  22. data/docs/setting/configure.md +176 -0
  23. data/docs/trableshouting/runtime_error.md +44 -0
  24. data/docs/{HOW_TO_ANALYZE_DOCS.md → usage/analyze_docs.md} +52 -52
  25. data/docs/usage/clean_docs.md +19 -0
  26. data/docs/{HOW_TO_DEPLOY_SWAGGER_DOC.md → usage/deploy_docs.md} +29 -29
  27. data/docs/usage/display_paths_list.md +35 -0
  28. data/docs/{HOW_TO_DISPLAY_PATHS_STATS.md → usage/display_paths_stats.md} +15 -14
  29. data/docs/{HOW_TO_START_SWAGGER_EDITOR.md → usage/edit_docs.md} +88 -88
  30. data/docs/usage/generate_docs.md +412 -0
  31. data/docs/{HOW_TO_MONITOR_SWAGGER_DOC.md → usage/monitor_docs.md} +71 -71
  32. data/docs/usage/use_hook_methods.md +236 -0
  33. data/docs/{HOW_TO_USE_HOOK_WHEN_GENERATE_DOC.md → usage/use_hook_to_generate_docs.md} +48 -57
  34. data/docs/{HOW_TO_USE_SCHEMA_NAMESPACE.md → usage/use_schema_namespace.md} +46 -41
  35. data/docs/{HOW_TO_USE_TAG_NAMESPACE.md → usage/use_tag_namespace.md} +46 -42
  36. data/docs/{HOW_TO_START_SWAGGER_UI.md → usage/view_docs.md} +132 -132
  37. data/gemfiles/ruby_2.3.3.gemfile +11 -0
  38. data/gemfiles/ruby_2.4.2.gemfile +11 -0
  39. data/gemfiles/ruby_2.5.8.gemfile +11 -0
  40. data/gemfiles/ruby_2.6.6.gemfile +11 -0
  41. data/gemfiles/ruby_2.7.1.gemfile +11 -0
  42. data/lib/r2-oas.rb +3 -4
  43. data/lib/r2-oas/app_configuration.rb +19 -16
  44. data/lib/r2-oas/deploy/client.rb +14 -2
  45. data/lib/r2-oas/errors.rb +1 -0
  46. data/lib/r2-oas/lib/core_ext/hash/deep_merge.rb +44 -0
  47. data/lib/r2-oas/lib/core_ext/object/blank.rb +135 -0
  48. data/lib/r2-oas/lib/three-way-merge/twm.rb +83 -0
  49. data/lib/r2-oas/schema/builder.rb +23 -0
  50. data/lib/r2-oas/schema/editor.rb +26 -7
  51. data/lib/r2-oas/schema/generator.rb +1 -1
  52. data/lib/r2-oas/schema/manager/file_manager.rb +26 -0
  53. data/lib/r2-oas/schema/ui.rb +0 -1
  54. data/lib/r2-oas/schema/v3/analyzer/base_analyzer.rb +1 -6
  55. data/lib/r2-oas/schema/v3/analyzer/components/object_analyzer.rb +1 -1
  56. data/lib/r2-oas/schema/v3/analyzer/path_analyzer.rb +1 -1
  57. data/lib/r2-oas/schema/v3/analyzer/tag_analyzer.rb +1 -1
  58. data/lib/r2-oas/schema/v3/builder.rb +28 -0
  59. data/lib/r2-oas/schema/v3/builder/base_builder.rb +60 -0
  60. data/lib/r2-oas/schema/v3/builder/doc_builder.rb +43 -0
  61. data/lib/r2-oas/schema/v3/cleaner/base_cleaner.rb +1 -1
  62. data/lib/r2-oas/schema/v3/generator.rb +1 -5
  63. data/lib/r2-oas/schema/v3/generator/base_generator.rb +30 -1
  64. data/lib/r2-oas/schema/v3/generator/components/object_generator.rb +6 -25
  65. data/lib/r2-oas/schema/v3/generator/components/request_body_generator.rb +6 -6
  66. data/lib/r2-oas/schema/v3/generator/doc_generator.rb +84 -18
  67. data/lib/r2-oas/schema/v3/generator/path_generator.rb +7 -19
  68. data/lib/r2-oas/schema/v3/generator/schema_generator.rb +6 -26
  69. data/lib/r2-oas/schema/v3/manager/file/base_file_manager.rb +10 -4
  70. data/lib/r2-oas/schema/v3/manager/pathname_manager.rb +6 -1
  71. data/lib/r2-oas/schema/v3/object/path_item_object.rb +17 -9
  72. data/lib/r2-oas/store.rb +118 -0
  73. data/lib/r2-oas/task_logging.rb +6 -0
  74. data/lib/r2-oas/tasks/main.rake +66 -73
  75. data/lib/r2-oas/tasks/tool.rake +25 -28
  76. data/lib/r2-oas/tool/paths/ls.rb +1 -1
  77. data/lib/r2-oas/version.rb +1 -1
  78. data/r2-oas.gemspec +20 -25
  79. metadata +122 -52
  80. data/Gemfile.lock +0 -207
  81. data/docs/HOW_TO_CLEAN_DOCS.md +0 -19
  82. data/docs/HOW_TO_DISPLAY_PATHS_LIST.md +0 -28
  83. data/docs/HOW_TO_GENERATE_DOCS.md +0 -256
@@ -1,207 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- r2-oas (0.1.0)
5
- docker-api (~> 1.34.2)
6
- easy_diff (~> 1.0.0)
7
- eventmachine (~> 1.2.0)
8
- paint
9
- rails (>= 4.2.5)
10
- terminal-table (~> 1.6.0)
11
- watir (~> 6.0)
12
-
13
- GEM
14
- remote: https://rubygems.org/
15
- specs:
16
- actioncable (5.2.3)
17
- actionpack (= 5.2.3)
18
- nio4r (~> 2.0)
19
- websocket-driver (>= 0.6.1)
20
- actionmailer (5.2.3)
21
- actionpack (= 5.2.3)
22
- actionview (= 5.2.3)
23
- activejob (= 5.2.3)
24
- mail (~> 2.5, >= 2.5.4)
25
- rails-dom-testing (~> 2.0)
26
- actionpack (5.2.3)
27
- actionview (= 5.2.3)
28
- activesupport (= 5.2.3)
29
- rack (~> 2.0)
30
- rack-test (>= 0.6.3)
31
- rails-dom-testing (~> 2.0)
32
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
33
- actionview (5.2.3)
34
- activesupport (= 5.2.3)
35
- builder (~> 3.1)
36
- erubi (~> 1.4)
37
- rails-dom-testing (~> 2.0)
38
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
39
- activejob (5.2.3)
40
- activesupport (= 5.2.3)
41
- globalid (>= 0.3.6)
42
- activemodel (5.2.3)
43
- activesupport (= 5.2.3)
44
- activerecord (5.2.3)
45
- activemodel (= 5.2.3)
46
- activesupport (= 5.2.3)
47
- arel (>= 9.0)
48
- activestorage (5.2.3)
49
- actionpack (= 5.2.3)
50
- activerecord (= 5.2.3)
51
- marcel (~> 0.3.1)
52
- activesupport (5.2.3)
53
- concurrent-ruby (~> 1.0, >= 1.0.2)
54
- i18n (>= 0.7, < 2)
55
- minitest (~> 5.1)
56
- tzinfo (~> 1.1)
57
- arel (9.0.0)
58
- ast (2.4.0)
59
- builder (3.2.3)
60
- childprocess (2.0.0)
61
- rake (< 13.0)
62
- coderay (1.1.2)
63
- concurrent-ruby (1.1.5)
64
- coveralls (0.8.23)
65
- json (>= 1.8, < 3)
66
- simplecov (~> 0.16.1)
67
- term-ansicolor (~> 1.3)
68
- thor (>= 0.19.4, < 2.0)
69
- tins (~> 1.6)
70
- crass (1.0.4)
71
- diff-lcs (1.3)
72
- docile (1.3.2)
73
- docker-api (1.34.2)
74
- excon (>= 0.47.0)
75
- multi_json
76
- easy_diff (1.0.0)
77
- erubi (1.8.0)
78
- eventmachine (1.2.7)
79
- excon (0.67.0)
80
- globalid (0.4.2)
81
- activesupport (>= 4.2.0)
82
- i18n (1.6.0)
83
- concurrent-ruby (~> 1.0)
84
- jaro_winkler (1.5.3)
85
- json (2.2.0)
86
- loofah (2.2.3)
87
- crass (~> 1.0.2)
88
- nokogiri (>= 1.5.9)
89
- mail (2.7.1)
90
- mini_mime (>= 0.1.1)
91
- marcel (0.3.3)
92
- mimemagic (~> 0.3.2)
93
- method_source (0.9.2)
94
- mimemagic (0.3.3)
95
- mini_mime (1.0.2)
96
- mini_portile2 (2.4.0)
97
- minitest (5.12.0)
98
- multi_json (1.13.1)
99
- nio4r (2.5.2)
100
- nokogiri (1.10.4)
101
- mini_portile2 (~> 2.4.0)
102
- paint (2.1.1)
103
- parallel (1.17.0)
104
- parser (2.6.3.0)
105
- ast (~> 2.4.0)
106
- pry (0.12.2)
107
- coderay (~> 1.1.0)
108
- method_source (~> 0.9.0)
109
- rack (2.0.7)
110
- rack-test (1.1.0)
111
- rack (>= 1.0, < 3)
112
- rails (5.2.3)
113
- actioncable (= 5.2.3)
114
- actionmailer (= 5.2.3)
115
- actionpack (= 5.2.3)
116
- actionview (= 5.2.3)
117
- activejob (= 5.2.3)
118
- activemodel (= 5.2.3)
119
- activerecord (= 5.2.3)
120
- activestorage (= 5.2.3)
121
- activesupport (= 5.2.3)
122
- bundler (>= 1.3.0)
123
- railties (= 5.2.3)
124
- sprockets-rails (>= 2.0.0)
125
- rails-dom-testing (2.0.3)
126
- activesupport (>= 4.2.0)
127
- nokogiri (>= 1.6)
128
- rails-html-sanitizer (1.2.0)
129
- loofah (~> 2.2, >= 2.2.2)
130
- railties (5.2.3)
131
- actionpack (= 5.2.3)
132
- activesupport (= 5.2.3)
133
- method_source
134
- rake (>= 0.8.7)
135
- thor (>= 0.19.0, < 2.0)
136
- rainbow (3.0.0)
137
- rake (10.5.0)
138
- regexp_parser (1.6.0)
139
- rspec (3.8.0)
140
- rspec-core (~> 3.8.0)
141
- rspec-expectations (~> 3.8.0)
142
- rspec-mocks (~> 3.8.0)
143
- rspec-core (3.8.0)
144
- rspec-support (~> 3.8.0)
145
- rspec-expectations (3.8.2)
146
- diff-lcs (>= 1.2.0, < 2.0)
147
- rspec-support (~> 3.8.0)
148
- rspec-mocks (3.8.0)
149
- diff-lcs (>= 1.2.0, < 2.0)
150
- rspec-support (~> 3.8.0)
151
- rspec-support (3.8.0)
152
- rubocop (0.72.0)
153
- jaro_winkler (~> 1.5.1)
154
- parallel (~> 1.10)
155
- parser (>= 2.6)
156
- rainbow (>= 2.2.2, < 4.0)
157
- ruby-progressbar (~> 1.7)
158
- unicode-display_width (>= 1.4.0, < 1.7)
159
- ruby-progressbar (1.10.1)
160
- rubyzip (1.2.4)
161
- selenium-webdriver (3.142.4)
162
- childprocess (>= 0.5, < 3.0)
163
- rubyzip (~> 1.2, >= 1.2.2)
164
- simplecov (0.16.1)
165
- docile (~> 1.1)
166
- json (>= 1.8, < 3)
167
- simplecov-html (~> 0.10.0)
168
- simplecov-html (0.10.2)
169
- sprockets (3.7.2)
170
- concurrent-ruby (~> 1.0)
171
- rack (> 1, < 3)
172
- sprockets-rails (3.2.1)
173
- actionpack (>= 4.0)
174
- activesupport (>= 4.0)
175
- sprockets (>= 3.0.0)
176
- sqlite3 (1.4.1)
177
- term-ansicolor (1.7.1)
178
- tins (~> 1.0)
179
- terminal-table (1.6.0)
180
- thor (0.20.3)
181
- thread_safe (0.3.6)
182
- tins (1.21.1)
183
- tzinfo (1.2.5)
184
- thread_safe (~> 0.1)
185
- unicode-display_width (1.6.0)
186
- watir (6.16.5)
187
- regexp_parser (~> 1.2)
188
- selenium-webdriver (~> 3.6)
189
- websocket-driver (0.7.1)
190
- websocket-extensions (>= 0.1.0)
191
- websocket-extensions (0.1.4)
192
-
193
- PLATFORMS
194
- ruby
195
-
196
- DEPENDENCIES
197
- bundler (~> 1.17)
198
- coveralls
199
- pry
200
- r2-oas!
201
- rake (~> 10.0)
202
- rspec (~> 3.0)
203
- rubocop
204
- sqlite3
205
-
206
- BUNDLED WITH
207
- 1.17.3
@@ -1,19 +0,0 @@
1
- ## Basic Usage
2
-
3
- Delete `components/schemas` and `components/requestBodies` files not in use.
4
-
5
- ```ruby
6
-
7
- require 'r2-oas'
8
-
9
- R2OAS.configure do |config|
10
- # default setting
11
- config.root_dir_path = "./oas_docs"
12
- config.schema_save_dir_name = "src"
13
- config.doc_save_file_name = "oas_doc.yml"
14
- end
15
- ```
16
-
17
- ```bash
18
- $ bundle exec rake routes:oas:clean
19
- ```
@@ -1,28 +0,0 @@
1
- ## Basic Usage
2
-
3
- ```ruby
4
-
5
- require 'r2-oas'
6
-
7
- R2OAS.configure do |config|
8
- # default setting
9
- config.root_dir_path = "./oas_docs"
10
- config.schema_save_dir_name = "src"
11
- config.doc_save_file_name = "oas_doc.yml"
12
- end
13
- ```
14
-
15
- ```bash
16
- $ bundle exec rake routes:oas:paths_ls
17
- /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/user.yml
18
- /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/account_user_role.yml
19
- /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/user.yml
20
- /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/account.yml
21
- /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/task.yml
22
- /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/post.yml
23
- /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v2/custom_post.yml
24
- /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v2/post.yml
25
- /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/task.yml
26
- /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/engine.yml
27
- /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/main.yml
28
- ```
@@ -1,256 +0,0 @@
1
- ## Basic Usage
2
-
3
- ```ruby
4
-
5
- require 'r2-oas'
6
-
7
- R2OAS.configure do |config|
8
- # default setting
9
- config.root_dir_path = "./oas_docs"
10
- config.schema_save_dir_name = "src"
11
- config.doc_save_file_name = "oas_doc.yml"
12
- end
13
- ```
14
-
15
- ```bash
16
- $ bundle exec rake routes:oas:docs
17
- ```
18
-
19
- ## Example
20
-
21
- if there is routing like this:
22
-
23
- ```
24
- $ bundle exec rake routes
25
- Prefix Verb URI Pattern Controller#Action
26
- rails_admin /admin RailsAdmin::Engine
27
- api_v2_posts GET /api/v2/posts(.:format) api/v2/posts#index {:format=>:json}
28
- POST /api/v2/posts(.:format) api/v2/posts#create {:format=>:json}
29
- new_api_v2_post GET /api/v2/posts/new(.:format) api/v2/posts#new {:format=>:json}
30
- edit_api_v2_post GET /api/v2/posts/:id/edit(.:format) api/v2/posts#edit {:format=>:json}
31
- api_v2_post GET /api/v2/posts/:id(.:format) api/v2/posts#show {:format=>:json}
32
- PATCH /api/v2/posts/:id(.:format) api/v2/posts#update {:format=>:json}
33
- PUT /api/v2/posts/:id(.:format) api/v2/posts#update {:format=>:json}
34
- DELETE /api/v2/posts/:id(.:format) api/v2/posts#destroy {:format=>:json}
35
- api_v1_posts GET /api/v1/posts(.:format) api/v1/posts#index
36
- POST /api/v1/posts(.:format) api/v1/posts#create
37
- new_api_v1_post GET /api/v1/posts/new(.:format) api/v1/posts#new
38
- edit_api_v1_post GET /api/v1/posts/:id/edit(.:format) api/v1/posts#edit
39
- api_v1_post GET /api/v1/posts/:id(.:format) api/v1/posts#show
40
- PATCH /api/v1/posts/:id(.:format) api/v1/posts#update
41
- PUT /api/v1/posts/:id(.:format) api/v1/posts#update
42
- DELETE /api/v1/posts/:id(.:format) api/v1/posts#destroy
43
- api_v1_tasks GET /api/v1/tasks(.:format) api/v1/tasks#index
44
- POST /api/v1/tasks(.:format) api/v1/tasks#create
45
- new_api_v1_task GET /api/v1/tasks/new(.:format) api/v1/tasks#new
46
- edit_api_v1_task GET /api/v1/tasks/:id/edit(.:format) api/v1/tasks#edit
47
- api_v1_task GET /api/v1/tasks/:id(.:format) api/v1/tasks#show
48
- PATCH /api/v1/tasks/:id(.:format) api/v1/tasks#update
49
- PUT /api/v1/tasks/:id(.:format) api/v1/tasks#update
50
- DELETE /api/v1/tasks/:id(.:format) api/v1/tasks#destroy
51
- tasks GET /tasks(.:format) tasks#index
52
- POST /tasks(.:format) tasks#create
53
- new_task GET /tasks/new(.:format) tasks#new
54
- edit_task GET /tasks/:id/edit(.:format) tasks#edit
55
- task GET /tasks/:id(.:format) tasks#show
56
- PATCH /tasks/:id(.:format) tasks#update
57
- PUT /tasks/:id(.:format) tasks#update
58
- DELETE /tasks/:id(.:format) tasks#destroy
59
- users GET /users(.:format) users#index
60
- POST /users(.:format) users#create
61
- new_user GET /users/new(.:format) users#new
62
- edit_user GET /users/:id/edit(.:format) users#edit
63
- user GET /users/:id(.:format) users#show
64
- PATCH /users/:id(.:format) users#update
65
- PUT /users/:id(.:format) users#update
66
- DELETE /users/:id(.:format) users#destroy
67
-
68
- Routes for RailsAdmin::Engine:
69
- dashboard GET / rails_admin/main#dashboard
70
- index GET|POST /:model_name(.:format) rails_admin/main#index
71
- new GET|POST /:model_name/new(.:format) rails_admin/main#new
72
- export GET|POST /:model_name/export(.:format) rails_admin/main#export
73
- bulk_delete POST|DELETE /:model_name/bulk_delete(.:format) rails_admin/main#bulk_delete
74
- bulk_action POST /:model_name/bulk_action(.:format) rails_admin/main#bulk_action
75
- show GET /:model_name/:id(.:format) rails_admin/main#show
76
- edit GET|PUT /:model_name/:id/edit(.:format) rails_admin/main#edit
77
- delete GET|DELETE /:model_name/:id/delete(.:format) rails_admin/main#delete
78
- show_in_app GET /:model_name/:id/show_in_app(.:format) rails_admin/main#show_in_app
79
- ```
80
-
81
- #### First try
82
-
83
- ```
84
- $ bundle exec rake routes:oas:docs
85
- I, [2019-03-17T16:54:22.141619 #46769] INFO -- : [R2-OAS] start
86
- I, [2019-03-17T16:54:22.180295 #46769] INFO -- : [Generate Swagger schema files] start
87
- I, [2019-03-17T16:54:22.201397 #46769] INFO -- : <From routes data>
88
- I, [2019-03-17T16:54:22.202094 #46769] INFO -- : <Update schema files>
89
- I, [2019-03-17T16:54:22.222877 #46769] INFO -- : Write schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/openapi.yml
90
- I, [2019-03-17T16:54:22.223625 #46769] INFO -- : Write schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/info.yml
91
- I, [2019-03-17T16:54:22.226086 #46769] INFO -- : Write schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/tags.yml
92
- I, [2019-03-17T16:54:22.226130 #46769] INFO -- : [Generate Swagger schema files (paths)] start
93
- I, [2019-03-17T16:54:22.260274 #46769] INFO -- : <From routes data>
94
- I, [2019-03-17T16:54:22.260478 #46769] INFO -- : <Update schema files (paths)>
95
- I, [2019-03-17T16:54:22.261223 #46769] INFO -- : Write schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/engine.yml
96
- I, [2019-03-17T16:54:22.263575 #46769] INFO -- : Write schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v2/post.yml
97
- I, [2019-03-17T16:54:22.264573 #46769] INFO -- : Write schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/post.yml
98
- I, [2019-03-17T16:54:22.265477 #46769] INFO -- : Write schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/task.yml
99
- I, [2019-03-17T16:54:22.266426 #46769] INFO -- : Write schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/task.yml
100
- I, [2019-03-17T16:54:22.267318 #46769] INFO -- : Write schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/user.yml
101
- I, [2019-03-17T16:54:22.269068 #46769] INFO -- : Write schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/main.yml
102
- I, [2019-03-17T16:54:22.269091 #46769] INFO -- : [Generate Swagger schema files (paths)] end
103
- I, [2019-03-17T16:54:22.269351 #46769] INFO -- : Write schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/externalDocs.yml
104
- I, [2019-03-17T16:54:22.269645 #46769] INFO -- : Write schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/servers.yml
105
- I, [2019-03-17T16:54:22.269667 #46769] INFO -- : [Generate Swagger schema files] end
106
- I, [2019-03-17T16:54:22.269678 #46769] INFO -- : [Generate Swagger docs from schema files] start
107
- I, [2019-03-17T16:54:22.270080 #46769] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/openapi.yml
108
- I, [2019-03-17T16:54:22.270477 #46769] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/user.yml
109
- I, [2019-03-17T16:54:22.270870 #46769] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/task.yml
110
- I, [2019-03-17T16:54:22.271238 #46769] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/post.yml
111
- I, [2019-03-17T16:54:22.271700 #46769] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v2/post.yml
112
- I, [2019-03-17T16:54:22.272125 #46769] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/task.yml
113
- I, [2019-03-17T16:54:22.272329 #46769] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/engine.yml
114
- I, [2019-03-17T16:54:22.272953 #46769] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/main.yml
115
- I, [2019-03-17T16:54:22.273071 #46769] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/externalDocs.yml
116
- I, [2019-03-17T16:54:22.273414 #46769] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/tags.yml
117
- I, [2019-03-17T16:54:22.273598 #46769] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/info.yml
118
- I, [2019-03-17T16:54:22.273724 #46769] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/servers.yml
119
- I, [2019-03-17T16:54:22.279880 #46769] INFO -- : [Generate Swagger docs from schema files] end
120
- I, [2019-03-17T16:54:22.279916 #46769] INFO -- : [R2-OAS] end
121
- ```
122
-
123
- #### Second try
124
-
125
- ```
126
- $ bundle exec rake routes:oas:docs
127
- I, [2019-03-17T16:54:49.460842 #46856] INFO -- : [R2-OAS] start
128
- I, [2019-03-17T16:54:49.500295 #46856] INFO -- : [Generate Swagger schema files] start
129
- I, [2019-03-17T16:54:49.523519 #46856] INFO -- : <From schema files>
130
- I, [2019-03-17T16:54:49.524119 #46856] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/openapi.yml
131
- I, [2019-03-17T16:54:49.524509 #46856] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/user.yml
132
- I, [2019-03-17T16:54:49.525053 #46856] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/task.yml
133
- I, [2019-03-17T16:54:49.525392 #46856] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/post.yml
134
- I, [2019-03-17T16:54:49.526041 #46856] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v2/post.yml
135
- I, [2019-03-17T16:54:49.527038 #46856] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/task.yml
136
- I, [2019-03-17T16:54:49.527304 #46856] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/engine.yml
137
- I, [2019-03-17T16:54:49.528432 #46856] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/main.yml
138
- I, [2019-03-17T16:54:49.528612 #46856] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/externalDocs.yml
139
- I, [2019-03-17T16:54:49.529722 #46856] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/tags.yml
140
- I, [2019-03-17T16:54:49.530027 #46856] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/info.yml
141
- I, [2019-03-17T16:54:49.530347 #46856] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/servers.yml
142
- I, [2019-03-17T16:54:49.549819 #46856] INFO -- : <Update schema files>
143
- I, [2019-03-17T16:54:49.569043 #46856] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/openapi.yml
144
- I, [2019-03-17T16:54:49.569765 #46856] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/info.yml
145
- I, [2019-03-17T16:54:49.571002 #46856] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/tags.yml
146
- I, [2019-03-17T16:54:49.571044 #46856] INFO -- : [Generate Swagger schema files (paths)] start
147
- I, [2019-03-17T16:54:49.589225 #46856] INFO -- : <From schema files>
148
- I, [2019-03-17T16:54:49.589799 #46856] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/user.yml
149
- I, [2019-03-17T16:54:49.590198 #46856] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/task.yml
150
- I, [2019-03-17T16:54:49.590557 #46856] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/post.yml
151
- I, [2019-03-17T16:54:49.591016 #46856] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v2/post.yml
152
- I, [2019-03-17T16:54:49.591391 #46856] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/task.yml
153
- I, [2019-03-17T16:54:49.591592 #46856] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/engine.yml
154
- I, [2019-03-17T16:54:49.592263 #46856] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/main.yml
155
- I, [2019-03-17T16:54:49.592539 #46856] INFO -- : <Update schema files (paths)>
156
- I, [2019-03-17T16:54:49.593116 #46856] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/engine.yml
157
- I, [2019-03-17T16:54:49.594214 #46856] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v2/post.yml
158
- I, [2019-03-17T16:54:49.595061 #46856] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/post.yml
159
- I, [2019-03-17T16:54:49.595931 #46856] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/task.yml
160
- I, [2019-03-17T16:54:49.596811 #46856] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/task.yml
161
- I, [2019-03-17T16:54:49.597706 #46856] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/user.yml
162
- I, [2019-03-17T16:54:49.599774 #46856] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/main.yml
163
- I, [2019-03-17T16:54:49.599809 #46856] INFO -- : [Generate Swagger schema files (paths)] end
164
- I, [2019-03-17T16:54:49.600113 #46856] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/externalDocs.yml
165
- I, [2019-03-17T16:54:49.600459 #46856] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/servers.yml
166
- I, [2019-03-17T16:54:49.600482 #46856] INFO -- : [Generate Swagger schema files] end
167
- I, [2019-03-17T16:54:49.600496 #46856] INFO -- : [Generate Swagger docs from schema files] start
168
- I, [2019-03-17T16:54:49.600893 #46856] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/openapi.yml
169
- I, [2019-03-17T16:54:49.601240 #46856] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/user.yml
170
- I, [2019-03-17T16:54:49.601649 #46856] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/task.yml
171
- I, [2019-03-17T16:54:49.602124 #46856] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/post.yml
172
- I, [2019-03-17T16:54:49.602698 #46856] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v2/post.yml
173
- I, [2019-03-17T16:54:49.603179 #46856] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/task.yml
174
- I, [2019-03-17T16:54:49.603416 #46856] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/engine.yml
175
- I, [2019-03-17T16:54:49.604173 #46856] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/main.yml
176
- I, [2019-03-17T16:54:49.604317 #46856] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/externalDocs.yml
177
- I, [2019-03-17T16:54:49.604653 #46856] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/tags.yml
178
- I, [2019-03-17T16:54:49.604875 #46856] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/info.yml
179
- I, [2019-03-17T16:54:49.604996 #46856] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/servers.yml
180
- I, [2019-03-17T16:54:49.611405 #46856] INFO -- : [Generate Swagger docs from schema files] end
181
- I, [2019-03-17T16:54:49.611451 #46856] INFO -- : [R2-OAS] end
182
- ```
183
-
184
- Generate like this:
185
-
186
- ```
187
- oas_docs
188
- ├── schema
189
- │   ├── externalDocs.yml
190
- │   ├── info.yml
191
- │   ├── openapi.yml
192
- │   ├── paths
193
- │   │   ├── api
194
- │   │   │   ├── v1
195
- │   │   │   │   ├── post.yml
196
- │   │   │   │   └── task.yml
197
- │   │   │   └── v2
198
- │   │   │   └── post.yml
199
- │   │   ├── rails_admin
200
- │   │   │   ├── engine.yml
201
- │   │   │   └── main.yml
202
- │   │   ├── task.yml
203
- │   │   └── user.yml
204
- │   ├── servers.yml
205
- │   └── tags.yml
206
- └── oas_doc.yml
207
- ```
208
-
209
- ## Advanced Usage
210
-
211
- If you want to generate docs by squeezing unit paths (For example, `api/v1/task.yml`),
212
- you set PATHS_FILE environment like this:
213
-
214
- ```bash
215
- $ PATHS_FILE="../oas_docs/schema/paths/api/v1/task.yml" bundle exec rake routes:oas:docs
216
- ```
217
-
218
- ```
219
- I, [2019-04-07T19:18:37.478650 #32978] INFO -- : [R2-OAS] start
220
- I, [2019-04-07T19:18:37.585622 #32978] INFO -- : [Generate Swagger schema files] start
221
- I, [2019-04-07T19:18:37.585786 #32978] INFO -- : <From schema files>
222
- I, [2019-04-07T19:18:37.587302 #32978] INFO -- : Fetch schema file: ../oas_docs/schema/paths/api/v1/task.yml
223
- I, [2019-04-07T19:18:37.587865 #32978] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/openapi.yml
224
- I, [2019-04-07T19:18:37.588549 #32978] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/externalDocs.yml
225
- I, [2019-04-07T19:18:37.589428 #32978] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/tags.yml
226
- I, [2019-04-07T19:18:37.589899 #32978] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/info.yml
227
- I, [2019-04-07T19:18:37.590411 #32978] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/servers.yml
228
- I, [2019-04-07T19:18:37.590505 #32978] INFO -- : <Update schema files>
229
- I, [2019-04-07T19:18:37.591127 #32978] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/openapi.yml
230
- I, [2019-04-07T19:18:37.591617 #32978] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/info.yml
231
- I, [2019-04-07T19:18:37.592455 #32978] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/tags.yml
232
- I, [2019-04-07T19:18:37.592477 #32978] INFO -- : [Generate Swagger schema files (paths)] start
233
- I, [2019-04-07T19:18:37.622570 #32978] INFO -- : <From schema files>
234
- I, [2019-04-07T19:18:37.623078 #32978] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/task.yml
235
- I, [2019-04-07T19:18:37.623139 #32978] INFO -- : <Update schema files (paths)>
236
- I, [2019-04-07T19:18:37.623898 #32978] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/engine.yml
237
- I, [2019-04-07T19:18:37.625018 #32978] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v2/post.yml
238
- I, [2019-04-07T19:18:37.625798 #32978] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/post.yml
239
- I, [2019-04-07T19:18:37.626779 #32978] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/task.yml
240
- I, [2019-04-07T19:18:37.627636 #32978] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/task.yml
241
- I, [2019-04-07T19:18:37.628434 #32978] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/user.yml
242
- I, [2019-04-07T19:18:37.629968 #32978] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/main.yml
243
- I, [2019-04-07T19:18:37.629988 #32978] INFO -- : [Generate Swagger schema files (paths)] end
244
- I, [2019-04-07T19:18:37.630307 #32978] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/externalDocs.yml
245
- I, [2019-04-07T19:18:37.630702 #32978] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/servers.yml
246
- I, [2019-04-07T19:18:37.630755 #32978] INFO -- : [Generate Swagger schema files] end
247
- I, [2019-04-07T19:18:37.630767 #32978] INFO -- : [Generate Swagger docs from schema files] start
248
- I, [2019-04-07T19:18:37.631307 #32978] INFO -- : Use schema file: ../oas_docs/schema/paths/api/v1/task.yml
249
- I, [2019-04-07T19:18:37.631430 #32978] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/openapi.yml
250
- I, [2019-04-07T19:18:37.631542 #32978] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/externalDocs.yml
251
- I, [2019-04-07T19:18:37.631828 #32978] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/tags.yml
252
- I, [2019-04-07T19:18:37.632022 #32978] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/info.yml
253
- I, [2019-04-07T19:18:37.632137 #32978] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/servers.yml
254
- I, [2019-04-07T19:18:37.634667 #32978] INFO -- : [Generate Swagger docs from schema files] end
255
- I, [2019-04-07T19:18:37.634690 #32978] INFO -- : [R2-OAS] end
256
- ```