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
@@ -20,6 +20,12 @@ module R2OAS
20
20
 
21
21
  private
22
22
 
23
+ def start
24
+ logger.info '[R2-OAS] start'
25
+ yield
26
+ logger.info '[R2-OAS] end'
27
+ end
28
+
23
29
  def logger
24
30
  R2OAS.logger
25
31
  end
@@ -8,100 +8,89 @@ load File.expand_path('common.rake', __dir__)
8
8
 
9
9
  namespace :routes do
10
10
  namespace :oas do
11
- desc 'Generate Swagger documentation files'
11
+ desc 'Generate OAS documentation files'
12
12
  task docs: [:common] do
13
- logger.info '[R2-OAS] start'
14
- options = { unit_paths_file_path: unit_paths_file_path, skip_load_dot_paths: true }
15
- generator = R2OAS::Schema::Generator.new(options)
16
- generator.generate_docs
17
- logger.info '[R2-OAS] end'
13
+ start do
14
+ is_create_cache = cache_docs.eql? 'true'
15
+ options = { unit_paths_file_path: unit_paths_file_path, skip_load_dot_paths: true, is_create_cache: is_create_cache }
16
+ generator = R2OAS::Schema::Generator.new(options)
17
+ generator.generate_docs
18
+ end
18
19
  end
19
20
 
20
- desc 'Analyze Swagger documentation'
21
+ desc 'Analyze OAS documentation'
21
22
  task analyze: [:common] do
22
- logger.info '[R2-OAS] start'
23
-
24
- analyzer_options = { type: :existing, existing_schema_file_path: existing_schema_file_path }
25
- analyzer = R2OAS::Schema::Analyzer.new({}, {}, analyzer_options)
26
- analyzer.analyze_docs
27
-
28
- generator_options = { skip_generate_docs: true }
29
- generator = R2OAS::Schema::Generator.new(generator_options)
30
- generator.generate_docs
31
-
32
- logger.info '[R2-OAS] end'
23
+ start do
24
+ analyzer_options = { type: :existing, existing_schema_file_path: existing_schema_file_path }
25
+ analyzer = R2OAS::Schema::Analyzer.new({}, {}, analyzer_options)
26
+ analyzer.analyze_docs
27
+
28
+ builder_options = {}
29
+ builder = R2OAS::Schema::Builder.new(builder_options)
30
+ builder.build_docs
31
+ end
33
32
  end
34
33
 
35
- desc 'Distribute Swagger documentation'
34
+ desc 'Distribute OAS documentation'
36
35
  task dist: [:common] do
37
- logger.info '[R2-OAS] start'
38
-
39
- generator_options = { unit_paths_file_path: unit_paths_file_path, skip_generate_docs: true }
40
- generator = R2OAS::Schema::Generator.new(generator_options)
41
- generator.generate_docs
42
-
43
- logger.info '[R2-OAS] end'
36
+ start do
37
+ builder_options = { unit_paths_file_path: unit_paths_file_path }
38
+ builder = R2OAS::Schema::Builder.new(builder_options)
39
+ builder.build_docs
40
+ end
44
41
  end
45
42
 
46
43
  desc 'Open Swagger Editor'
47
44
  task editor: [:common] do
48
- logger.info '[R2-OAS] start'
49
-
50
- generator_options = { unit_paths_file_path: unit_paths_file_path, skip_generate_docs: true }
51
- generator = R2OAS::Schema::Generator.new(generator_options)
52
- generator.generate_docs
53
-
54
- before_schema_data = generator.oas_doc
55
- editor_options = { unit_paths_file_path: unit_paths_file_path }
56
- editor = R2OAS::Schema::Editor.new(before_schema_data, editor_options)
57
- editor.start
58
-
59
- logger.info '[R2-OAS] end'
45
+ start do
46
+ builder_options = { unit_paths_file_path: unit_paths_file_path }
47
+ builder = R2OAS::Schema::Builder.new(builder_options)
48
+ builder.build_docs
49
+
50
+ before_schema_data = builder.oas_doc
51
+ editor_options = { unit_paths_file_path: unit_paths_file_path }
52
+ editor = R2OAS::Schema::Editor.new(before_schema_data, editor_options)
53
+ editor.start
54
+ end
60
55
  end
61
56
 
62
57
  desc 'Open Swagger UI'
63
58
  task ui: [:common] do
64
- logger.info '[R2-OAS] start'
65
-
66
- generator_options = { unit_paths_file_path: unit_paths_file_path, skip_generate_docs: true }
67
- generator = R2OAS::Schema::Generator.new(generator_options)
68
- generator.generate_docs
69
-
70
- ui_options = { unit_paths_file_path: unit_paths_file_path }
71
- ui = R2OAS::Schema::UI.new(ui_options)
72
- ui.start
73
-
74
- logger.info '[R2-OAS] end'
59
+ start do
60
+ builder_options = { unit_paths_file_path: unit_paths_file_path }
61
+ builder = R2OAS::Schema::Builder.new(builder_options)
62
+ builder.build_docs
63
+
64
+ ui_options = { unit_paths_file_path: unit_paths_file_path }
65
+ ui = R2OAS::Schema::UI.new(ui_options)
66
+ ui.start
67
+ end
75
68
  end
76
69
 
77
- desc 'Monitor Swagger Document'
70
+ desc 'Monitor OAS Document'
78
71
  task monitor: [:common] do
79
- logger.info '[R2-OAS] start'
80
-
81
- generator_options = { unit_paths_file_path: unit_paths_file_path, skip_generate_docs: true }
82
- generator = R2OAS::Schema::Generator.new(generator_options)
83
- generator.generate_docs
84
-
85
- before_schema_data = generator.oas_doc
86
- monitor_options = { unit_paths_file_path: unit_paths_file_path }
87
- monitor = R2OAS::Schema::Monitor.new(before_schema_data, monitor_options)
88
- monitor.start
89
-
90
- logger.info '[R2-OAS] end'
72
+ start do
73
+ builder_options = { unit_paths_file_path: unit_paths_file_path }
74
+ builder = R2OAS::Schema::Builder.new(builder_options)
75
+ builder.build_docs
76
+
77
+ before_schema_data = builder.oas_doc
78
+ monitor_options = { unit_paths_file_path: unit_paths_file_path }
79
+ monitor = R2OAS::Schema::Monitor.new(before_schema_data, monitor_options)
80
+ monitor.start
81
+ end
91
82
  end
92
83
 
93
- desc 'Clean Swagger Document'
84
+ desc 'Clean OAS Document'
94
85
  task clean: [:common] do
95
- logger.info '[R2-OAS] start'
96
-
97
- generator_options = { skip_generate_docs: true, skip_load_dot_paths: true }
98
- generator = R2OAS::Schema::Generator.new(generator_options)
99
- generator.generate_docs
100
-
101
- cleaner = R2OAS::Schema::Cleaner.new
102
- cleaner.clean_docs
103
-
104
- logger.info '[R2-OAS] end'
86
+ start do
87
+ builder_options = { skip_load_dot_paths: true }
88
+ builder = R2OAS::Schema::Builder.new(builder_options)
89
+ builder.build_docs
90
+
91
+ cleaner = R2OAS::Schema::Cleaner.new
92
+ cleaner.clean_docs
93
+ end
105
94
  end
106
95
 
107
96
  private
@@ -113,5 +102,9 @@ namespace :routes do
113
102
  def existing_schema_file_path
114
103
  ENV.fetch('OAS_FILE', '')
115
104
  end
105
+
106
+ def cache_docs
107
+ ENV.fetch('CACHE_DOCS', 'false')
108
+ end
116
109
  end
117
110
  end
@@ -8,19 +8,17 @@ load File.expand_path('common.rake', __dir__)
8
8
 
9
9
  namespace :routes do
10
10
  namespace :oas do
11
- desc 'Deploy Swagger UI'
11
+ desc 'Deploy OAS Document'
12
12
  task deploy: [:common] do
13
- logger.info '[R2-OAS] start'
14
-
15
- generator_options = { unit_paths_file_path: unit_paths_file_path, skip_generate_docs: true }
16
- generator = R2OAS::Schema::Generator.new(generator_options)
17
- generator.generate_docs
18
-
19
- client_options = {}
20
- client = R2OAS::Deploy::Client.new(client_options)
21
- client.deploy
22
-
23
- logger.info '[R2-OAS] end'
13
+ start do
14
+ builder_options = { unit_paths_file_path: unit_paths_file_path }
15
+ builder = R2OAS::Schema::Builder.new(builder_options)
16
+ builder.build_docs
17
+
18
+ client_options = {}
19
+ client = R2OAS::Deploy::Client.new(client_options)
20
+ client.deploy
21
+ end
24
22
  end
25
23
 
26
24
  desc 'Display paths list'
@@ -28,14 +26,14 @@ namespace :routes do
28
26
  fd = IO.sysopen('/dev/null', 'w+')
29
27
  $stdout = IO.new(fd)
30
28
  logger.level = :null
31
- logger.info '[R2-OAS] start'
32
- $stdout = StringIO.new
33
29
 
34
- paths_ls_options = {}
35
- paths_ls = R2OAS::Tool::Paths::Ls.new(paths_ls_options)
36
- paths_ls.print
30
+ start do
31
+ $stdout = StringIO.new
37
32
 
38
- logger.info '[R2-OAS] end'
33
+ paths_ls_options = {}
34
+ paths_ls = R2OAS::Tool::Paths::Ls.new(paths_ls_options)
35
+ paths_ls.print
36
+ end
39
37
 
40
38
  result = $stdout.string
41
39
  $stdout = STDOUT
@@ -48,18 +46,17 @@ namespace :routes do
48
46
  $stdout = IO.new(fd)
49
47
  logger.level = :null
50
48
 
51
- logger.info '[R2-OAS] start'
52
- generator_options = { skip_generate_docs: true, skip_load_dot_paths: true }
53
- generator = R2OAS::Schema::Generator.new(generator_options)
54
- generator.generate_docs
55
-
56
- $stdout = StringIO.new
49
+ start do
50
+ builder_options = { skip_load_dot_paths: true }
51
+ builder = R2OAS::Schema::Builder.new(builder_options)
52
+ builder.build_docs
57
53
 
58
- paths_log_options = {}
59
- paths_log = R2OAS::Tool::Paths::Stats.new(paths_log_options)
60
- paths_log.print
54
+ $stdout = StringIO.new
61
55
 
62
- logger.info '[R2-OAS] end'
56
+ paths_log_options = {}
57
+ paths_log = R2OAS::Tool::Paths::Stats.new(paths_log_options)
58
+ paths_log.print
59
+ end
63
60
 
64
61
  result = $stdout.string
65
62
  $stdout = STDOUT
@@ -6,7 +6,7 @@ module R2OAS
6
6
  class Ls < Base
7
7
  def print
8
8
  Dir.glob("#{schema_save_dir_path}/paths/**/**.yml").each do |path|
9
- puts path
9
+ puts path.sub(%r{^#{Dir.getwd}/?}, '')
10
10
  end
11
11
  end
12
12
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module R2OAS
4
- VERSION = '0.1.0'
4
+ VERSION = '0.3.1'
5
5
  end
@@ -10,25 +10,17 @@ Gem::Specification.new do |spec|
10
10
  spec.authors = ['yukihirop']
11
11
  spec.email = ['te108186@gmail.com']
12
12
 
13
- spec.summary = 'Generate api docment(OpenAPI) side only from rails routing.'
14
- spec.description = <<~EOF
15
- Generate api docment(OpenAPI) side only from `rails` routing.
16
- Provides a rake command to help `generate` , `view` , and `edit` OpenAPI documents.
17
-
18
- ```
19
- bundle exec rake routes:oas:docs # generate
20
- bundle exec rake routes:oas:ui # view
21
- bundle exec rake routes:oas:editor # edit
22
- bundle exec rake routes:oas:monitor # monitor
23
- bundle exec rake routes:oas:dist # distribute
24
- bundle exec rake routes:oas:clean # clean
25
- bundle exec rake routes:oas:analyze # analyze
26
- bundle exec rake routes:oas:deploy # deploy
27
- ```
28
- EOF
13
+ spec.summary = 'Provide rake tasks to management API Docment (OpenAPI)'
14
+ spec.description = %Q{== Let's intuitively write API documentation with Swagger Editor in your Rails Project! 😊\n#{IO.read('GEMSPEC.md')}}
29
15
 
30
16
  spec.homepage = 'https://github.com/yukihirop/r2-oas'
31
17
  spec.license = 'MIT'
18
+ spec.metadata = {
19
+ "bug_tracker_uri" => "https://github.com/yukihirop/r2-oas/issues",
20
+ "changelog_uri" => "https://github.com/yukihirop/r2-oas/blob/v#{spec.version}/CHANGELOG.md",
21
+ "documentation_uri" => "https://yukihirop.github.io/r2-oas",
22
+ "source_code_uri" => "https://github.com/yukihirop/r2-oas/tree/v#{spec.version}"
23
+ }
32
24
 
33
25
  # Specify which files should be added to the gem when it is released.
34
26
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -40,17 +32,20 @@ Gem::Specification.new do |spec|
40
32
  spec.require_paths = ['lib']
41
33
  spec.required_ruby_version = Gem::Requirement.new('>= 2.3.3p222')
42
34
 
43
- spec.add_runtime_dependency 'docker-api', '~> 1.34.2'
44
- spec.add_runtime_dependency 'easy_diff', '~> 1.0.0'
45
- spec.add_runtime_dependency 'eventmachine', '~> 1.2.0'
35
+ spec.add_runtime_dependency 'docker-api', '>= 1.34.2'
36
+ spec.add_runtime_dependency 'easy_diff', '>= 1.0.0'
37
+ spec.add_runtime_dependency 'eventmachine', '>= 1.2.0'
38
+ spec.add_runtime_dependency 'key_flatten', '>= 1.0.0'
46
39
  spec.add_runtime_dependency 'paint'
47
- spec.add_runtime_dependency 'rails', '>= 4.2.5'
48
- spec.add_runtime_dependency 'terminal-table', '~> 1.6.0'
49
- spec.add_runtime_dependency 'watir', '~> 6.0'
50
- spec.add_development_dependency 'bundler', '~> 1.17'
40
+ spec.add_runtime_dependency 'railties', '>= 4.2.5'
41
+ spec.add_runtime_dependency 'terminal-table', '>= 1.6.0'
42
+ spec.add_runtime_dependency 'watir', '>= 6.16.5'
43
+ spec.add_development_dependency 'bundler', '>= 1.17'
44
+ spec.add_development_dependency 'coveralls'
51
45
  spec.add_development_dependency 'pry'
52
- spec.add_development_dependency 'rake', '~> 10.0'
46
+ spec.add_development_dependency 'rake', '~> 13.0'
53
47
  spec.add_development_dependency 'rspec', '~> 3.0'
54
48
  spec.add_development_dependency 'rubocop'
55
- spec.add_development_dependency 'coveralls'
49
+ spec.add_development_dependency 'appraisal'
50
+ spec.add_development_dependency 'activerecord', '>= 4.2.5'
56
51
  end
metadata CHANGED
@@ -1,57 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: r2-oas
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - yukihirop
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-10-22 00:00:00.000000000 Z
11
+ date: 2020-06-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: docker-api
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.34.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.34.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: easy_diff
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 1.0.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.0.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: eventmachine
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: 1.2.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: 1.2.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: key_flatten
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 1.0.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 1.0.0
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: paint
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -67,7 +81,7 @@ dependencies:
67
81
  - !ruby/object:Gem::Version
68
82
  version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
- name: rails
84
+ name: railties
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
87
  - - ">="
@@ -84,44 +98,58 @@ dependencies:
84
98
  name: terminal-table
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
- - - "~>"
101
+ - - ">="
88
102
  - !ruby/object:Gem::Version
89
103
  version: 1.6.0
90
104
  type: :runtime
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
- - - "~>"
108
+ - - ">="
95
109
  - !ruby/object:Gem::Version
96
110
  version: 1.6.0
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: watir
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
- - - "~>"
115
+ - - ">="
102
116
  - !ruby/object:Gem::Version
103
- version: '6.0'
117
+ version: 6.16.5
104
118
  type: :runtime
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
- - - "~>"
122
+ - - ">="
109
123
  - !ruby/object:Gem::Version
110
- version: '6.0'
124
+ version: 6.16.5
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: bundler
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
- - - "~>"
129
+ - - ">="
116
130
  - !ruby/object:Gem::Version
117
131
  version: '1.17'
118
132
  type: :development
119
133
  prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
- - - "~>"
136
+ - - ">="
123
137
  - !ruby/object:Gem::Version
124
138
  version: '1.17'
139
+ - !ruby/object:Gem::Dependency
140
+ name: coveralls
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
125
153
  - !ruby/object:Gem::Dependency
126
154
  name: pry
127
155
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +170,14 @@ dependencies:
142
170
  requirements:
143
171
  - - "~>"
144
172
  - !ruby/object:Gem::Version
145
- version: '10.0'
173
+ version: '13.0'
146
174
  type: :development
147
175
  prerelease: false
148
176
  version_requirements: !ruby/object:Gem::Requirement
149
177
  requirements:
150
178
  - - "~>"
151
179
  - !ruby/object:Gem::Version
152
- version: '10.0'
180
+ version: '13.0'
153
181
  - !ruby/object:Gem::Dependency
154
182
  name: rspec
155
183
  requirement: !ruby/object:Gem::Requirement
@@ -179,7 +207,7 @@ dependencies:
179
207
  - !ruby/object:Gem::Version
180
208
  version: '0'
181
209
  - !ruby/object:Gem::Dependency
182
- name: coveralls
210
+ name: appraisal
183
211
  requirement: !ruby/object:Gem::Requirement
184
212
  requirements:
185
213
  - - ">="
@@ -192,20 +220,31 @@ dependencies:
192
220
  - - ">="
193
221
  - !ruby/object:Gem::Version
194
222
  version: '0'
195
- description: |
196
- Generate api docment(OpenAPI) side only from `rails` routing.
197
- Provides a rake command to help `generate` , `view` , and `edit` OpenAPI documents.
198
-
199
- ```
200
- bundle exec rake routes:oas:docs # generate
201
- bundle exec rake routes:oas:ui # view
202
- bundle exec rake routes:oas:editor # edit
203
- bundle exec rake routes:oas:monitor # monitor
204
- bundle exec rake routes:oas:dist # distribute
205
- bundle exec rake routes:oas:clean # clean
206
- bundle exec rake routes:oas:analyze # analyze
207
- bundle exec rake routes:oas:deploy # deploy
208
- ```
223
+ - !ruby/object:Gem::Dependency
224
+ name: activerecord
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: 4.2.5
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: 4.2.5
237
+ description: "== Let's intuitively write API documentation with Swagger Editor in
238
+ your Rails Project! \U0001F60A\nConfigureless and no DSL. \U0001F44D But you can
239
+ also configure. \nManage with yaml file instead of Ruby code. \nLoosely coupled
240
+ to your Rails project. \U0001F44D \nSo if you want to use another tool, you can
241
+ port it right away. \U0001F622 \nGenerate api docment(OpenAPI) side only from `Rails`
242
+ routing. \n \nProvide rake tasks to management API Docment (OpenAPI) \U0001F389
243
+ \ \n \n\n $ bundle exec rake routes:oas:docs\n $ bundle exec rake routes:oas:ui\n
244
+ \ $ bundle exec rake routes:oas:editor\n $ bundle exec rake routes:oas:monitor\n
245
+ \ $ bundle exec rake routes:oas:dist\n $ bundle exec rake routes:oas:clean\n
246
+ \ $ bundle exec rake routes:oas:analyze\n $ bundle exec rake routes:oas:deploy\n\n
247
+ \ \nHappy Coding ❗️\n"
209
248
  email:
210
249
  - te108186@gmail.com
211
250
  executables: []
@@ -219,29 +258,48 @@ files:
219
258
  - ".rubocop.yml"
220
259
  - ".rubocop_todo.yml"
221
260
  - ".travis.yml"
261
+ - Appraisals
222
262
  - CHANGELOG.md
223
263
  - CODE_OF_CONDUCT.md
264
+ - GEMSPEC.md
224
265
  - Gemfile
225
- - Gemfile.lock
226
266
  - LICENSE.txt
227
267
  - README.ja.md
228
268
  - README.md
229
269
  - Rakefile
230
270
  - bin/console
231
271
  - bin/setup
232
- - docs/HOW_TO_ANALYZE_DOCS.md
233
- - docs/HOW_TO_CLEAN_DOCS.md
234
- - docs/HOW_TO_DEPLOY_SWAGGER_DOC.md
235
- - docs/HOW_TO_DISPLAY_PATHS_LIST.md
236
- - docs/HOW_TO_DISPLAY_PATHS_STATS.md
237
- - docs/HOW_TO_GENERATE_DOCS.md
238
- - docs/HOW_TO_MONITOR_SWAGGER_DOC.md
239
- - docs/HOW_TO_START_SWAGGER_EDITOR.md
240
- - docs/HOW_TO_START_SWAGGER_UI.md
241
- - docs/HOW_TO_USE_HOOK_WHEN_GENERATE_DOC.md
242
- - docs/HOW_TO_USE_SCHEMA_NAMESPACE.md
243
- - docs/HOW_TO_USE_TAG_NAMESPACE.md
244
- - docs/versions/v3.md
272
+ - devscript/all_support_ruby.sh
273
+ - devscript/bundle_for_all_support_ruby.sh
274
+ - devscript/rspec_for_all_support_ruby.sh
275
+ - docs/.nojekyll
276
+ - docs/README.md
277
+ - docs/_sidebar.md
278
+ - docs/attention/if_clash.md
279
+ - docs/index.html
280
+ - docs/schema/3.0.0.md
281
+ - docs/setting/COC.md
282
+ - docs/setting/CORS.md
283
+ - docs/setting/configure.md
284
+ - docs/trableshouting/runtime_error.md
285
+ - docs/usage/analyze_docs.md
286
+ - docs/usage/clean_docs.md
287
+ - docs/usage/deploy_docs.md
288
+ - docs/usage/display_paths_list.md
289
+ - docs/usage/display_paths_stats.md
290
+ - docs/usage/edit_docs.md
291
+ - docs/usage/generate_docs.md
292
+ - docs/usage/monitor_docs.md
293
+ - docs/usage/use_hook_methods.md
294
+ - docs/usage/use_hook_to_generate_docs.md
295
+ - docs/usage/use_schema_namespace.md
296
+ - docs/usage/use_tag_namespace.md
297
+ - docs/usage/view_docs.md
298
+ - gemfiles/ruby_2.3.3.gemfile
299
+ - gemfiles/ruby_2.4.2.gemfile
300
+ - gemfiles/ruby_2.5.8.gemfile
301
+ - gemfiles/ruby_2.6.6.gemfile
302
+ - gemfiles/ruby_2.7.1.gemfile
245
303
  - lib/r2-oas.rb
246
304
  - lib/r2-oas/app_configuration.rb
247
305
  - lib/r2-oas/app_configuration/server.rb
@@ -270,6 +328,9 @@ files:
270
328
  - lib/r2-oas/hooks/global_hook.rb
271
329
  - lib/r2-oas/hooks/hook.rb
272
330
  - lib/r2-oas/hooks/repository.rb
331
+ - lib/r2-oas/lib/core_ext/hash/deep_merge.rb
332
+ - lib/r2-oas/lib/core_ext/object/blank.rb
333
+ - lib/r2-oas/lib/three-way-merge/twm.rb
273
334
  - lib/r2-oas/logger/stdout_logger.rb
274
335
  - lib/r2-oas/pluggable_configuration.rb
275
336
  - lib/r2-oas/plugins/schema/v3/object/hookable_base_object.rb
@@ -283,10 +344,12 @@ files:
283
344
  - lib/r2-oas/routing/parser.rb
284
345
  - lib/r2-oas/schema/analyzer.rb
285
346
  - lib/r2-oas/schema/base.rb
347
+ - lib/r2-oas/schema/builder.rb
286
348
  - lib/r2-oas/schema/cleaner.rb
287
349
  - lib/r2-oas/schema/editor.rb
288
350
  - lib/r2-oas/schema/generator.rb
289
351
  - lib/r2-oas/schema/manager/file/path_item_file_manager.rb
352
+ - lib/r2-oas/schema/manager/file_manager.rb
290
353
  - lib/r2-oas/schema/monitor.rb
291
354
  - lib/r2-oas/schema/squeezer.rb
292
355
  - lib/r2-oas/schema/ui.rb
@@ -297,6 +360,9 @@ files:
297
360
  - lib/r2-oas/schema/v3/analyzer/path_analyzer.rb
298
361
  - lib/r2-oas/schema/v3/analyzer/tag_analyzer.rb
299
362
  - lib/r2-oas/schema/v3/base.rb
363
+ - lib/r2-oas/schema/v3/builder.rb
364
+ - lib/r2-oas/schema/v3/builder/base_builder.rb
365
+ - lib/r2-oas/schema/v3/builder/doc_builder.rb
300
366
  - lib/r2-oas/schema/v3/cleaner.rb
301
367
  - lib/r2-oas/schema/v3/cleaner/base_cleaner.rb
302
368
  - lib/r2-oas/schema/v3/cleaner/components_cleaner.rb
@@ -337,6 +403,7 @@ files:
337
403
  - lib/r2-oas/schema/v3/squeezer/tag_squeezer.rb
338
404
  - lib/r2-oas/shared/all.rb
339
405
  - lib/r2-oas/shared/sortable.rb
406
+ - lib/r2-oas/store.rb
340
407
  - lib/r2-oas/task.rb
341
408
  - lib/r2-oas/task_logging.rb
342
409
  - lib/r2-oas/tasks/common.rake
@@ -349,7 +416,11 @@ files:
349
416
  homepage: https://github.com/yukihirop/r2-oas
350
417
  licenses:
351
418
  - MIT
352
- metadata: {}
419
+ metadata:
420
+ bug_tracker_uri: https://github.com/yukihirop/r2-oas/issues
421
+ changelog_uri: https://github.com/yukihirop/r2-oas/blob/v0.3.1/CHANGELOG.md
422
+ documentation_uri: https://yukihirop.github.io/r2-oas
423
+ source_code_uri: https://github.com/yukihirop/r2-oas/tree/v0.3.1
353
424
  post_install_message:
354
425
  rdoc_options: []
355
426
  require_paths:
@@ -365,9 +436,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
365
436
  - !ruby/object:Gem::Version
366
437
  version: '0'
367
438
  requirements: []
368
- rubyforge_project:
369
- rubygems_version: 2.7.6
439
+ rubygems_version: 3.1.2
370
440
  signing_key:
371
441
  specification_version: 4
372
- summary: Generate api docment(OpenAPI) side only from rails routing.
442
+ summary: Provide rake tasks to management API Docment (OpenAPI)
373
443
  test_files: []