r2-oas 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. checksums.yaml +7 -0
  2. data/.github/ISSUE_TEMPLATE.md +12 -0
  3. data/.github/PULL_REQUEST_TEMPLATE.md +12 -0
  4. data/.gitignore +12 -0
  5. data/.rspec +3 -0
  6. data/.rubocop.yml +7 -0
  7. data/.rubocop_todo.yml +224 -0
  8. data/.travis.yml +22 -0
  9. data/CHANGELOG.md +3 -0
  10. data/CODE_OF_CONDUCT.md +74 -0
  11. data/Gemfile +12 -0
  12. data/Gemfile.lock +207 -0
  13. data/LICENSE.txt +21 -0
  14. data/README.ja.md +585 -0
  15. data/README.md +582 -0
  16. data/Rakefile +8 -0
  17. data/bin/console +12 -0
  18. data/bin/setup +8 -0
  19. data/docs/HOW_TO_ANALYZE_DOCS.md +875 -0
  20. data/docs/HOW_TO_CLEAN_DOCS.md +19 -0
  21. data/docs/HOW_TO_DEPLOY_SWAGGER_DOC.md +839 -0
  22. data/docs/HOW_TO_DISPLAY_PATHS_LIST.md +28 -0
  23. data/docs/HOW_TO_DISPLAY_PATHS_STATS.md +53 -0
  24. data/docs/HOW_TO_GENERATE_DOCS.md +256 -0
  25. data/docs/HOW_TO_MONITOR_SWAGGER_DOC.md +219 -0
  26. data/docs/HOW_TO_START_SWAGGER_EDITOR.md +218 -0
  27. data/docs/HOW_TO_START_SWAGGER_UI.md +262 -0
  28. data/docs/HOW_TO_USE_HOOK_WHEN_GENERATE_DOC.md +244 -0
  29. data/docs/HOW_TO_USE_SCHEMA_NAMESPACE.md +176 -0
  30. data/docs/HOW_TO_USE_TAG_NAMESPACE.md +176 -0
  31. data/docs/versions/v3.md +155 -0
  32. data/lib/r2-oas.rb +36 -0
  33. data/lib/r2-oas/app_configuration.rb +102 -0
  34. data/lib/r2-oas/app_configuration/server.rb +35 -0
  35. data/lib/r2-oas/app_configuration/swagger.rb +35 -0
  36. data/lib/r2-oas/app_configuration/swagger/editor.rb +47 -0
  37. data/lib/r2-oas/app_configuration/swagger/ui.rb +45 -0
  38. data/lib/r2-oas/app_configuration/tool.rb +31 -0
  39. data/lib/r2-oas/app_configuration/tool/paths/stats.rb +43 -0
  40. data/lib/r2-oas/base.rb +48 -0
  41. data/lib/r2-oas/configuration.rb +69 -0
  42. data/lib/r2-oas/configuration/paths_config.rb +44 -0
  43. data/lib/r2-oas/deploy/client.rb +43 -0
  44. data/lib/r2-oas/deploy/swagger-ui/dist/favicon-16x16.png +0 -0
  45. data/lib/r2-oas/deploy/swagger-ui/dist/favicon-32x32.png +0 -0
  46. data/lib/r2-oas/deploy/swagger-ui/dist/oauth2-redirect.html +68 -0
  47. data/lib/r2-oas/deploy/swagger-ui/dist/swagger-ui-bundle.js +134 -0
  48. data/lib/r2-oas/deploy/swagger-ui/dist/swagger-ui-bundle.js.map +1 -0
  49. data/lib/r2-oas/deploy/swagger-ui/dist/swagger-ui-standalone-preset.js +22 -0
  50. data/lib/r2-oas/deploy/swagger-ui/dist/swagger-ui-standalone-preset.js.map +1 -0
  51. data/lib/r2-oas/deploy/swagger-ui/dist/swagger-ui.css +4 -0
  52. data/lib/r2-oas/deploy/swagger-ui/dist/swagger-ui.css.map +1 -0
  53. data/lib/r2-oas/deploy/swagger-ui/dist/swagger-ui.js +9 -0
  54. data/lib/r2-oas/deploy/swagger-ui/dist/swagger-ui.js.map +1 -0
  55. data/lib/r2-oas/deploy/swagger-ui/index.html.erb +60 -0
  56. data/lib/r2-oas/errors.rb +7 -0
  57. data/lib/r2-oas/hooks/global_hook.rb +20 -0
  58. data/lib/r2-oas/hooks/hook.rb +77 -0
  59. data/lib/r2-oas/hooks/repository.rb +15 -0
  60. data/lib/r2-oas/logger/stdout_logger.rb +129 -0
  61. data/lib/r2-oas/pluggable_configuration.rb +33 -0
  62. data/lib/r2-oas/plugins/schema/v3/object/hookable_base_object.rb +100 -0
  63. data/lib/r2-oas/routing/adjustor.rb +44 -0
  64. data/lib/r2-oas/routing/base.rb +12 -0
  65. data/lib/r2-oas/routing/components/all.rb +5 -0
  66. data/lib/r2-oas/routing/components/base_component.rb +10 -0
  67. data/lib/r2-oas/routing/components/path_component.rb +67 -0
  68. data/lib/r2-oas/routing/components/request_component.rb +75 -0
  69. data/lib/r2-oas/routing/components/verb_component.rb +21 -0
  70. data/lib/r2-oas/routing/parser.rb +93 -0
  71. data/lib/r2-oas/schema/analyzer.rb +23 -0
  72. data/lib/r2-oas/schema/base.rb +11 -0
  73. data/lib/r2-oas/schema/cleaner.rb +23 -0
  74. data/lib/r2-oas/schema/editor.rb +120 -0
  75. data/lib/r2-oas/schema/generator.rb +23 -0
  76. data/lib/r2-oas/schema/manager/file/path_item_file_manager.rb +24 -0
  77. data/lib/r2-oas/schema/monitor.rb +52 -0
  78. data/lib/r2-oas/schema/squeezer.rb +23 -0
  79. data/lib/r2-oas/schema/ui.rb +74 -0
  80. data/lib/r2-oas/schema/v3/analyzer.rb +58 -0
  81. data/lib/r2-oas/schema/v3/analyzer/base_analyzer.rb +76 -0
  82. data/lib/r2-oas/schema/v3/analyzer/components/object_analyzer.rb +38 -0
  83. data/lib/r2-oas/schema/v3/analyzer/components_analyzer.rb +30 -0
  84. data/lib/r2-oas/schema/v3/analyzer/path_analyzer.rb +116 -0
  85. data/lib/r2-oas/schema/v3/analyzer/tag_analyzer.rb +38 -0
  86. data/lib/r2-oas/schema/v3/base.rb +28 -0
  87. data/lib/r2-oas/schema/v3/cleaner.rb +19 -0
  88. data/lib/r2-oas/schema/v3/cleaner/base_cleaner.rb +30 -0
  89. data/lib/r2-oas/schema/v3/cleaner/components_cleaner.rb +42 -0
  90. data/lib/r2-oas/schema/v3/generator.rb +28 -0
  91. data/lib/r2-oas/schema/v3/generator/base_generator.rb +88 -0
  92. data/lib/r2-oas/schema/v3/generator/components/object_generator.rb +83 -0
  93. data/lib/r2-oas/schema/v3/generator/components/request_body_generator.rb +45 -0
  94. data/lib/r2-oas/schema/v3/generator/components_generator.rb +38 -0
  95. data/lib/r2-oas/schema/v3/generator/doc_generator.rb +49 -0
  96. data/lib/r2-oas/schema/v3/generator/path_generator.rb +90 -0
  97. data/lib/r2-oas/schema/v3/generator/schema_generator.rb +78 -0
  98. data/lib/r2-oas/schema/v3/manager/diff/base_array_diff_manager.rb +60 -0
  99. data/lib/r2-oas/schema/v3/manager/diff/base_diff_manager.rb +29 -0
  100. data/lib/r2-oas/schema/v3/manager/diff/base_hash_diff_manager.rb +95 -0
  101. data/lib/r2-oas/schema/v3/manager/diff/components_diff_manager.rb +19 -0
  102. data/lib/r2-oas/schema/v3/manager/diff/tag_diff_manager.rb +17 -0
  103. data/lib/r2-oas/schema/v3/manager/file/base_file_manager.rb +60 -0
  104. data/lib/r2-oas/schema/v3/manager/file/components_file_manager.rb +22 -0
  105. data/lib/r2-oas/schema/v3/manager/file/include_ref_base_file_manager.rb +88 -0
  106. data/lib/r2-oas/schema/v3/manager/file/path_item_file_manager.rb +22 -0
  107. data/lib/r2-oas/schema/v3/manager/file_manager.rb +12 -0
  108. data/lib/r2-oas/schema/v3/manager/pathname_manager.rb +73 -0
  109. data/lib/r2-oas/schema/v3/object/base_object.rb +65 -0
  110. data/lib/r2-oas/schema/v3/object/components/request_body_object.rb +92 -0
  111. data/lib/r2-oas/schema/v3/object/components/schema_object.rb +55 -0
  112. data/lib/r2-oas/schema/v3/object/components_object.rb +81 -0
  113. data/lib/r2-oas/schema/v3/object/external_document_object.rb +19 -0
  114. data/lib/r2-oas/schema/v3/object/info_object.rb +34 -0
  115. data/lib/r2-oas/schema/v3/object/openapi_object.rb +58 -0
  116. data/lib/r2-oas/schema/v3/object/path_item_object.rb +167 -0
  117. data/lib/r2-oas/schema/v3/object/paths_object.rb +74 -0
  118. data/lib/r2-oas/schema/v3/object/public.rb +9 -0
  119. data/lib/r2-oas/schema/v3/object/server_object.rb +21 -0
  120. data/lib/r2-oas/schema/v3/object/tag_object.rb +36 -0
  121. data/lib/r2-oas/schema/v3/squeezer.rb +29 -0
  122. data/lib/r2-oas/schema/v3/squeezer/base_squeezer.rb +37 -0
  123. data/lib/r2-oas/schema/v3/squeezer/path_squeezer.rb +28 -0
  124. data/lib/r2-oas/schema/v3/squeezer/tag_squeezer.rb +19 -0
  125. data/lib/r2-oas/shared/all.rb +3 -0
  126. data/lib/r2-oas/shared/sortable.rb +23 -0
  127. data/lib/r2-oas/task.rb +11 -0
  128. data/lib/r2-oas/task_logging.rb +39 -0
  129. data/lib/r2-oas/tasks/common.rake +26 -0
  130. data/lib/r2-oas/tasks/main.rake +117 -0
  131. data/lib/r2-oas/tasks/tool.rake +79 -0
  132. data/lib/r2-oas/tool/paths/ls.rb +15 -0
  133. data/lib/r2-oas/tool/paths/stats.rb +84 -0
  134. data/lib/r2-oas/version.rb +5 -0
  135. data/r2-oas.gemspec +56 -0
  136. metadata +373 -0
@@ -0,0 +1,218 @@
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:editor
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
+ The editor starts up with the schema set.
84
+
85
+ <img alt="swagger_editor" src="https://user-images.githubusercontent.com/11146767/55682235-a8361480-596b-11e9-8c0c-718c8eed1393.png" width="546">
86
+
87
+ ```
88
+ I, [2019-04-07T19:24:44.832837 #33139] INFO -- : [R2-OAS] start
89
+ I, [2019-04-07T19:24:44.832980 #33139] INFO -- : [R2-OAS] start
90
+ I, [2019-04-07T19:24:44.941617 #33139] INFO -- : [Generate Swagger schema files] start
91
+ I, [2019-04-07T19:24:44.941859 #33139] INFO -- : <From schema files>
92
+ I, [2019-04-07T19:24:44.943345 #33139] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/openapi.yml
93
+ I, [2019-04-07T19:24:44.944161 #33139] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/user.yml
94
+ I, [2019-04-07T19:24:44.944934 #33139] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/task.yml
95
+ I, [2019-04-07T19:24:44.945433 #33139] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/post.yml
96
+ I, [2019-04-07T19:24:44.946134 #33139] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v2/post.yml
97
+ I, [2019-04-07T19:24:44.946595 #33139] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/task.yml
98
+ I, [2019-04-07T19:24:44.947051 #33139] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/engine.yml
99
+ I, [2019-04-07T19:24:44.947883 #33139] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/main.yml
100
+ I, [2019-04-07T19:24:44.948154 #33139] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/externalDocs.yml
101
+ I, [2019-04-07T19:24:44.948699 #33139] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/tags.yml
102
+ I, [2019-04-07T19:24:44.949193 #33139] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/info.yml
103
+ I, [2019-04-07T19:24:44.949423 #33139] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/servers.yml
104
+ I, [2019-04-07T19:24:44.949694 #33139] INFO -- : <Update schema files>
105
+ I, [2019-04-07T19:24:44.950397 #33139] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/openapi.yml
106
+ I, [2019-04-07T19:24:44.950846 #33139] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/info.yml
107
+ I, [2019-04-07T19:24:44.951710 #33139] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/tags.yml
108
+ I, [2019-04-07T19:24:44.951779 #33139] INFO -- : [Generate Swagger schema files (paths)] start
109
+ I, [2019-04-07T19:24:44.980847 #33139] INFO -- : <From schema files>
110
+ I, [2019-04-07T19:24:44.981390 #33139] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/user.yml
111
+ I, [2019-04-07T19:24:44.981742 #33139] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/task.yml
112
+ I, [2019-04-07T19:24:44.982088 #33139] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/post.yml
113
+ I, [2019-04-07T19:24:44.982510 #33139] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v2/post.yml
114
+ I, [2019-04-07T19:24:44.982843 #33139] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/task.yml
115
+ I, [2019-04-07T19:24:44.983202 #33139] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/engine.yml
116
+ I, [2019-04-07T19:24:44.984177 #33139] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/main.yml
117
+ I, [2019-04-07T19:24:44.984565 #33139] INFO -- : <Update schema files (paths)>
118
+ I, [2019-04-07T19:24:44.985294 #33139] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/engine.yml
119
+ I, [2019-04-07T19:24:44.986665 #33139] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v2/post.yml
120
+ I, [2019-04-07T19:24:44.987585 #33139] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/post.yml
121
+ I, [2019-04-07T19:24:44.988493 #33139] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/task.yml
122
+ I, [2019-04-07T19:24:44.989595 #33139] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/task.yml
123
+ I, [2019-04-07T19:24:44.990660 #33139] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/user.yml
124
+ I, [2019-04-07T19:24:44.992520 #33139] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/main.yml
125
+ I, [2019-04-07T19:24:44.992553 #33139] INFO -- : [Generate Swagger schema files (paths)] end
126
+ I, [2019-04-07T19:24:44.992863 #33139] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/externalDocs.yml
127
+ I, [2019-04-07T19:24:44.993229 #33139] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/servers.yml
128
+ I, [2019-04-07T19:24:44.993272 #33139] INFO -- : [Generate Swagger schema files] end
129
+ I, [2019-04-07T19:24:44.993311 #33139] INFO -- : [Generate Swagger docs from schema files] start
130
+ I, [2019-04-07T19:24:44.993774 #33139] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/openapi.yml
131
+ I, [2019-04-07T19:24:44.994197 #33139] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/user.yml
132
+ I, [2019-04-07T19:24:44.994627 #33139] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/task.yml
133
+ I, [2019-04-07T19:24:44.994967 #33139] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/post.yml
134
+ I, [2019-04-07T19:24:44.995438 #33139] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v2/post.yml
135
+ I, [2019-04-07T19:24:44.995860 #33139] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/task.yml
136
+ I, [2019-04-07T19:24:44.996097 #33139] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/engine.yml
137
+ I, [2019-04-07T19:24:44.996770 #33139] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/main.yml
138
+ I, [2019-04-07T19:24:44.996885 #33139] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/externalDocs.yml
139
+ I, [2019-04-07T19:24:44.997187 #33139] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/tags.yml
140
+ I, [2019-04-07T19:24:44.997401 #33139] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/info.yml
141
+ I, [2019-04-07T19:24:44.997522 #33139] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/servers.yml
142
+ I, [2019-04-07T19:24:45.003195 #33139] INFO -- : [Generate Swagger docs from schema files] end
143
+ I, [2019-04-07T19:24:45.003223 #33139] INFO -- : [R2-OAS] end
144
+
145
+ wait for single trap ...
146
+
147
+ ```
148
+
149
+ When you press `Ctrl + C` after edit schema , the editor closes and the following message appears.
150
+
151
+ ```
152
+ ^C
153
+ save updated schema in tempfile path: tmp/edited_schema20190407-33493-mxw638.yaml
154
+ container id: 1a9752d2702045b2fde587dda3ce064233a735165f9b70bc6f86e603abfe3a39 removed
155
+ I, [2019-04-07T19:43:53.666565 #33493] INFO -- : [R2-OAS] end
156
+ ```
157
+
158
+ ## Advanced Usage
159
+
160
+ If you want to generate docs by squeezing unit paths (For example, `api/v1/task.yml`),
161
+ you set PATHS_FILE environment like this:
162
+
163
+ ```bash
164
+ $ PATHS_FILE="../oas_docs/schema/paths/api/v1/task.yml" bundle exec rake routes:oas:editor
165
+ ```
166
+
167
+ ```
168
+ I, [2019-04-07T19:48:40.140872 #34907] INFO -- : [R2-OAS] start
169
+ I, [2019-04-07T19:48:40.140990 #34907] INFO -- : [R2-OAS] start
170
+ I, [2019-04-07T19:48:40.252636 #34907] INFO -- : [Generate Swagger schema files] start
171
+ I, [2019-04-07T19:48:40.252835 #34907] INFO -- : <From schema files>
172
+ I, [2019-04-07T19:48:40.253463 #34907] INFO -- : Fetch schema file: ../oas_docs/schema/paths/api/v1/task.yml
173
+ I, [2019-04-07T19:48:40.253587 #34907] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/openapi.yml
174
+ I, [2019-04-07T19:48:40.253707 #34907] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/externalDocs.yml
175
+ I, [2019-04-07T19:48:40.254045 #34907] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/tags.yml
176
+ I, [2019-04-07T19:48:40.254276 #34907] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/info.yml
177
+ I, [2019-04-07T19:48:40.254430 #34907] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/servers.yml
178
+ I, [2019-04-07T19:48:40.254522 #34907] INFO -- : <Update schema files>
179
+ I, [2019-04-07T19:48:40.255059 #34907] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/openapi.yml
180
+ I, [2019-04-07T19:48:40.255565 #34907] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/info.yml
181
+ I, [2019-04-07T19:48:40.256410 #34907] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/tags.yml
182
+ I, [2019-04-07T19:48:40.256433 #34907] INFO -- : [Generate Swagger schema files (paths)] start
183
+ I, [2019-04-07T19:48:40.287252 #34907] INFO -- : <From schema files>
184
+ I, [2019-04-07T19:48:40.288195 #34907] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/task.yml
185
+ I, [2019-04-07T19:48:40.288253 #34907] INFO -- : <Update schema files (paths)>
186
+ I, [2019-04-07T19:48:40.289027 #34907] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/engine.yml
187
+ I, [2019-04-07T19:48:40.290245 #34907] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v2/post.yml
188
+ I, [2019-04-07T19:48:40.291226 #34907] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/post.yml
189
+ I, [2019-04-07T19:48:40.292277 #34907] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/task.yml
190
+ I, [2019-04-07T19:48:40.293109 #34907] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/task.yml
191
+ I, [2019-04-07T19:48:40.294190 #34907] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/user.yml
192
+ I, [2019-04-07T19:48:40.296321 #34907] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/main.yml
193
+ I, [2019-04-07T19:48:40.296357 #34907] INFO -- : [Generate Swagger schema files (paths)] end
194
+ I, [2019-04-07T19:48:40.296651 #34907] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/externalDocs.yml
195
+ I, [2019-04-07T19:48:40.297043 #34907] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/servers.yml
196
+ I, [2019-04-07T19:48:40.297068 #34907] INFO -- : [Generate Swagger schema files] end
197
+ I, [2019-04-07T19:48:40.297093 #34907] INFO -- : [Generate Swagger docs from schema files] start
198
+ I, [2019-04-07T19:48:40.297631 #34907] INFO -- : Use schema file: ../oas_docs/schema/paths/api/v1/task.yml
199
+ I, [2019-04-07T19:48:40.297797 #34907] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/openapi.yml
200
+ I, [2019-04-07T19:48:40.297956 #34907] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/externalDocs.yml
201
+ I, [2019-04-07T19:48:40.298421 #34907] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/tags.yml
202
+ I, [2019-04-07T19:48:40.298720 #34907] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/info.yml
203
+ I, [2019-04-07T19:48:40.298994 #34907] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/servers.yml
204
+ I, [2019-04-07T19:48:40.302896 #34907] INFO -- : [Generate Swagger docs from schema files] end
205
+ I, [2019-04-07T19:48:40.302938 #34907] INFO -- : [R2-OAS] end
206
+
207
+ wait for single trap ...
208
+
209
+ ```
210
+
211
+ When you press `Ctrl + C` after edit schema , the editor closes and the following message appears.
212
+
213
+ ```
214
+ ^C
215
+ save updated schema in tempfile path: tmp/edited_schema20190407-34907-1iv0ao0.yaml
216
+ container id: 7b58246777eabb9206d852e587a491e0815444982779985dbd2e27c30cbfff59 removed
217
+ I, [2019-04-07T19:50:26.402777 #34907] INFO -- : [R2-OAS] end
218
+ ```
@@ -0,0 +1,262 @@
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:ui
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
+ The ui starts up with the schema set.
84
+
85
+ <img alt="swagger_ui" src="https://user-images.githubusercontent.com/11146767/56875699-6d606180-6a7d-11e9-9947-4edae2fd48cb.png" width="546">
86
+
87
+ ```
88
+ I, [2019-04-29T12:53:03.010443 #10516] INFO -- : [R2-OAS] start
89
+ I, [2019-04-29T12:53:03.010557 #10516] INFO -- : [R2-OAS] start
90
+ I, [2019-04-29T12:53:03.133380 #10516] INFO -- : [Generate Swagger schema files] start
91
+ I, [2019-04-29T12:53:03.133776 #10516] INFO -- : <From schema files>
92
+ I, [2019-04-29T12:53:03.135212 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/openapi.yml
93
+ I, [2019-04-29T12:53:03.136340 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/user.yml
94
+ I, [2019-04-29T12:53:03.137207 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/task.yml
95
+ I, [2019-04-29T12:53:03.137860 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/post.yml
96
+ I, [2019-04-29T12:53:03.138488 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v2/post.yml
97
+ I, [2019-04-29T12:53:03.139113 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/task.yml
98
+ I, [2019-04-29T12:53:03.139660 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/engine.yml
99
+ I, [2019-04-29T12:53:03.141082 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/main.yml
100
+ I, [2019-04-29T12:53:03.141426 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/externalDocs.yml
101
+ I, [2019-04-29T12:53:03.142055 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/tags.yml
102
+ I, [2019-04-29T12:53:03.142364 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/user.yml
103
+ I, [2019-04-29T12:53:03.142690 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/api/v1/task.yml
104
+ I, [2019-04-29T12:53:03.143078 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/api/v1/post.yml
105
+ I, [2019-04-29T12:53:03.143408 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/api/v2/post.yml
106
+ I, [2019-04-29T12:53:03.143643 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/task.yml
107
+ I, [2019-04-29T12:53:03.143971 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/rails_admin/engine.yml
108
+ I, [2019-04-29T12:53:03.144315 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/rails_admin/main.yml
109
+ I, [2019-04-29T12:53:03.144806 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/info.yml
110
+ I, [2019-04-29T12:53:03.145013 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/servers.yml
111
+ I, [2019-04-29T12:53:03.145597 #10516] INFO -- : <Update schema files>
112
+ I, [2019-04-29T12:53:03.146179 #10516] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/openapi.yml
113
+ I, [2019-04-29T12:53:03.146613 #10516] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/info.yml
114
+ I, [2019-04-29T12:53:03.147470 #10516] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/tags.yml
115
+ I, [2019-04-29T12:53:03.147492 #10516] INFO -- : [Generate Swagger schema files (paths)] start
116
+ I, [2019-04-29T12:53:03.183824 #10516] INFO -- : <From schema files>
117
+ I, [2019-04-29T12:53:03.184629 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/user.yml
118
+ I, [2019-04-29T12:53:03.185143 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/task.yml
119
+ I, [2019-04-29T12:53:03.185661 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/post.yml
120
+ I, [2019-04-29T12:53:03.186202 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v2/post.yml
121
+ I, [2019-04-29T12:53:03.186675 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/task.yml
122
+ I, [2019-04-29T12:53:03.187142 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/engine.yml
123
+ I, [2019-04-29T12:53:03.188050 #10516] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/main.yml
124
+ I, [2019-04-29T12:53:03.188673 #10516] INFO -- : <Update schema files (paths)>
125
+ I, [2019-04-29T12:53:03.189751 #10516] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/engine.yml
126
+ I, [2019-04-29T12:53:03.190945 #10516] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v2/post.yml
127
+ I, [2019-04-29T12:53:03.192400 #10516] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/post.yml
128
+ I, [2019-04-29T12:53:03.193803 #10516] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/task.yml
129
+ I, [2019-04-29T12:53:03.195408 #10516] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/task.yml
130
+ I, [2019-04-29T12:53:03.196820 #10516] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/user.yml
131
+ I, [2019-04-29T12:53:03.199474 #10516] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/main.yml
132
+ I, [2019-04-29T12:53:03.199496 #10516] INFO -- : [Generate Swagger schema files (paths)] end
133
+ I, [2019-04-29T12:53:03.199768 #10516] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/externalDocs.yml
134
+ I, [2019-04-29T12:53:03.200231 #10516] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/servers.yml
135
+ I, [2019-04-29T12:53:03.200257 #10516] INFO -- : [Generate Swagger schema files (components)] start
136
+ I, [2019-04-29T12:53:03.268381 #10516] INFO -- : <From schema files>
137
+ I, [2019-04-29T12:53:03.268772 #10516] INFO -- : Fetch Components schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/user.yml
138
+ I, [2019-04-29T12:53:03.268969 #10516] INFO -- : Fetch Components schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/api/v1/task.yml
139
+ I, [2019-04-29T12:53:03.269135 #10516] INFO -- : Fetch Components schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/api/v1/post.yml
140
+ I, [2019-04-29T12:53:03.269280 #10516] INFO -- : Fetch Components schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/api/v2/post.yml
141
+ I, [2019-04-29T12:53:03.269427 #10516] INFO -- : Fetch Components schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/task.yml
142
+ I, [2019-04-29T12:53:03.269642 #10516] INFO -- : Fetch Components schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/rails_admin/engine.yml
143
+ I, [2019-04-29T12:53:03.269793 #10516] INFO -- : Fetch Components schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/rails_admin/main.yml
144
+ I, [2019-04-29T12:53:03.269847 #10516] INFO -- : <Update Components schema files (components/schemas)>
145
+ I, [2019-04-29T12:53:03.270491 #10516] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/rails_admin/engine.yml
146
+ I, [2019-04-29T12:53:03.271096 #10516] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/api/v2/post.yml
147
+ I, [2019-04-29T12:53:03.271632 #10516] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/api/v1/post.yml
148
+ I, [2019-04-29T12:53:03.272166 #10516] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/api/v1/task.yml
149
+ I, [2019-04-29T12:53:03.272620 #10516] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/task.yml
150
+ I, [2019-04-29T12:53:03.273053 #10516] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/user.yml
151
+ I, [2019-04-29T12:53:03.273541 #10516] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/rails_admin/main.yml
152
+ I, [2019-04-29T12:53:03.273562 #10516] INFO -- : [Generate Swagger schema files (components)] end
153
+ I, [2019-04-29T12:53:03.273574 #10516] INFO -- : [Generate Swagger schema files] end
154
+ I, [2019-04-29T12:53:03.273584 #10516] INFO -- : [Generate Swagger docs from schema files] start
155
+ I, [2019-04-29T12:53:03.274133 #10516] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/openapi.yml
156
+ I, [2019-04-29T12:53:03.274566 #10516] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/user.yml
157
+ I, [2019-04-29T12:53:03.275000 #10516] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/task.yml
158
+ I, [2019-04-29T12:53:03.275443 #10516] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/post.yml
159
+ I, [2019-04-29T12:53:03.276159 #10516] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v2/post.yml
160
+ I, [2019-04-29T12:53:03.277020 #10516] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/task.yml
161
+ I, [2019-04-29T12:53:03.277364 #10516] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/engine.yml
162
+ I, [2019-04-29T12:53:03.278296 #10516] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/main.yml
163
+ I, [2019-04-29T12:53:03.278432 #10516] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/externalDocs.yml
164
+ I, [2019-04-29T12:53:03.278747 #10516] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/tags.yml
165
+ I, [2019-04-29T12:53:03.278897 #10516] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/user.yml
166
+ I, [2019-04-29T12:53:03.279043 #10516] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/api/v1/task.yml
167
+ I, [2019-04-29T12:53:03.279210 #10516] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/api/v1/post.yml
168
+ I, [2019-04-29T12:53:03.279356 #10516] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/api/v2/post.yml
169
+ I, [2019-04-29T12:53:03.279566 #10516] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/task.yml
170
+ I, [2019-04-29T12:53:03.279759 #10516] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/rails_admin/engine.yml
171
+ I, [2019-04-29T12:53:03.279935 #10516] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/rails_admin/main.yml
172
+ I, [2019-04-29T12:53:03.280107 #10516] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/info.yml
173
+ I, [2019-04-29T12:53:03.280223 #10516] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/servers.yml
174
+ I, [2019-04-29T12:53:03.301656 #10516] INFO -- : [Generate Swagger docs from schema files] end
175
+ I, [2019-04-29T12:53:03.301698 #10516] INFO -- : [R2-OAS] end
176
+
177
+ wait for single trap ...
178
+
179
+ ```
180
+
181
+ When you press `Ctrl + C` , the ui closes and the following message appears.
182
+
183
+ ```
184
+ ^Ccontainer id: edd950ec30507b1138af1b714f0101ef0452d32d08b66e23eb6e22740c830576 removed
185
+ I, [2019-04-29T12:54:14.333082 #10516] INFO -- : [R2-OAS] end
186
+ ```
187
+
188
+ ## Advanced Usage
189
+
190
+ If you want to generate docs by squeezing unit paths (For example, `api/v1/task.yml`),
191
+ you set PATHS_FILE environment like this:
192
+
193
+ ```bash
194
+ $ PATHS_FILE="../oas_docs/schema/paths/api/v1/task.yml" bundle exec rake routes:oas:editor
195
+ ```
196
+
197
+ <img alt="swagger_ui_by_specify_schemas" src="https://user-images.githubusercontent.com/11146767/56875847-38084380-6a7e-11e9-90db-9710459da44c.png" width="546">
198
+
199
+ ```
200
+ I, [2019-04-29T12:55:15.434226 #10698] INFO -- : [R2-OAS] start
201
+ I, [2019-04-29T12:55:15.434334 #10698] INFO -- : [R2-OAS] start
202
+ I, [2019-04-29T12:55:15.550674 #10698] INFO -- : [Generate Swagger schema files] start
203
+ I, [2019-04-29T12:55:15.551016 #10698] INFO -- : <From schema files>
204
+ I, [2019-04-29T12:55:15.551724 #10698] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/task.yml
205
+ I, [2019-04-29T12:55:15.551870 #10698] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/api/v1/task.yml
206
+ I, [2019-04-29T12:55:15.552005 #10698] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/openapi.yml
207
+ I, [2019-04-29T12:55:15.552257 #10698] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/externalDocs.yml
208
+ I, [2019-04-29T12:55:15.552608 #10698] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/tags.yml
209
+ I, [2019-04-29T12:55:15.552847 #10698] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/info.yml
210
+ I, [2019-04-29T12:55:15.553001 #10698] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/servers.yml
211
+ I, [2019-04-29T12:55:15.553144 #10698] INFO -- : <Update schema files>
212
+ I, [2019-04-29T12:55:15.553650 #10698] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/openapi.yml
213
+ I, [2019-04-29T12:55:15.554101 #10698] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/info.yml
214
+ I, [2019-04-29T12:55:15.555634 #10698] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/tags.yml
215
+ I, [2019-04-29T12:55:15.555714 #10698] INFO -- : [Generate Swagger schema files (paths)] start
216
+ I, [2019-04-29T12:55:15.589466 #10698] INFO -- : <From schema files>
217
+ I, [2019-04-29T12:55:15.590112 #10698] INFO -- : Fetch schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/task.yml
218
+ I, [2019-04-29T12:55:15.590216 #10698] INFO -- : <Update schema files (paths)>
219
+ I, [2019-04-29T12:55:15.591618 #10698] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/engine.yml
220
+ I, [2019-04-29T12:55:15.593567 #10698] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v2/post.yml
221
+ I, [2019-04-29T12:55:15.595107 #10698] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/post.yml
222
+ I, [2019-04-29T12:55:15.596491 #10698] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/task.yml
223
+ I, [2019-04-29T12:55:15.598158 #10698] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/task.yml
224
+ I, [2019-04-29T12:55:15.599531 #10698] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/user.yml
225
+ I, [2019-04-29T12:55:15.602490 #10698] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/rails_admin/main.yml
226
+ I, [2019-04-29T12:55:15.602516 #10698] INFO -- : [Generate Swagger schema files (paths)] end
227
+ I, [2019-04-29T12:55:15.602822 #10698] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/externalDocs.yml
228
+ I, [2019-04-29T12:55:15.603159 #10698] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/servers.yml
229
+ I, [2019-04-29T12:55:15.603181 #10698] INFO -- : [Generate Swagger schema files (components)] start
230
+ I, [2019-04-29T12:55:15.669796 #10698] INFO -- : <From schema files>
231
+ I, [2019-04-29T12:55:15.670091 #10698] INFO -- : Fetch Components schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/api/v1/task.yml
232
+ I, [2019-04-29T12:55:15.670122 #10698] INFO -- : <Update Components schema files (components/schemas)>
233
+ I, [2019-04-29T12:55:15.670729 #10698] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/rails_admin/engine.yml
234
+ I, [2019-04-29T12:55:15.671278 #10698] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/api/v2/post.yml
235
+ I, [2019-04-29T12:55:15.671796 #10698] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/api/v1/post.yml
236
+ I, [2019-04-29T12:55:15.672328 #10698] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/api/v1/task.yml
237
+ I, [2019-04-29T12:55:15.672745 #10698] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/task.yml
238
+ I, [2019-04-29T12:55:15.673160 #10698] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/user.yml
239
+ I, [2019-04-29T12:55:15.673729 #10698] INFO -- : Merge schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/rails_admin/main.yml
240
+ I, [2019-04-29T12:55:15.673771 #10698] INFO -- : [Generate Swagger schema files (components)] end
241
+ I, [2019-04-29T12:55:15.673785 #10698] INFO -- : [Generate Swagger schema files] end
242
+ I, [2019-04-29T12:55:15.673830 #10698] INFO -- : [Generate Swagger docs from schema files] start
243
+ I, [2019-04-29T12:55:15.674608 #10698] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/paths/api/v1/task.yml
244
+ I, [2019-04-29T12:55:15.674796 #10698] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/components/schemas/api/v1/task.yml
245
+ I, [2019-04-29T12:55:15.675010 #10698] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/openapi.yml
246
+ I, [2019-04-29T12:55:15.675144 #10698] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/externalDocs.yml
247
+ I, [2019-04-29T12:55:15.675523 #10698] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/tags.yml
248
+ I, [2019-04-29T12:55:15.675700 #10698] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/info.yml
249
+ I, [2019-04-29T12:55:15.675817 #10698] INFO -- : Use schema file: /Users/yukihirop/RubyProjects/r2-oas/oas_docs/src/servers.yml
250
+ I, [2019-04-29T12:55:15.679925 #10698] INFO -- : [Generate Swagger docs from schema files] end
251
+ I, [2019-04-29T12:55:15.679950 #10698] INFO -- : [R2-OAS] end
252
+
253
+ wait for single trap ...
254
+
255
+ ```
256
+
257
+ When you press `Ctrl + C` , the ui closes and the following message appears.
258
+
259
+ ```
260
+ ^Ccontainer id: dfb4752353f17dd8c1eb60ea53049575ce9e0cf04d928499441dc06754955875 removed
261
+ I, [2019-04-29T12:58:02.840740 #10698] INFO -- : [R2-OAS] end
262
+ ```