r2-oas 0.3.2 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +55 -1
- data/GEMSPEC.md +2 -2
- data/README.ja.md +73 -43
- data/README.md +75 -39
- data/lib/r2-oas.rb +4 -5
- data/lib/r2-oas/app_configuration.rb +17 -5
- data/lib/r2-oas/app_configuration/deprecation.rb +28 -0
- data/lib/r2-oas/configuration.rb +57 -11
- data/lib/r2-oas/configuration/paths_config.rb +6 -3
- data/lib/r2-oas/deploy/client.rb +1 -1
- data/lib/r2-oas/errors.rb +5 -0
- data/lib/r2-oas/helpers/file_helper.rb +68 -0
- data/lib/r2-oas/hooks/hook.rb +7 -5
- data/lib/r2-oas/lib/core_ext/all.rb +5 -0
- data/lib/r2-oas/lib/core_ext/string/filters.rb +29 -0
- data/lib/r2-oas/plugin/base.rb +44 -0
- data/lib/r2-oas/plugin/executor.rb +148 -0
- data/lib/r2-oas/plugin/hookable.rb +47 -0
- data/lib/r2-oas/plugin/public.rb +3 -0
- data/lib/r2-oas/plugin/transform/transform.rb +10 -0
- data/lib/r2-oas/plugin/transform/v3/transform.rb +20 -0
- data/lib/r2-oas/plugin/transform/v3/visitable.rb +37 -0
- data/lib/r2-oas/public.rb +3 -0
- data/lib/r2-oas/schema/base.rb +1 -1
- data/lib/r2-oas/schema/builder.rb +1 -1
- data/lib/r2-oas/schema/editor.rb +9 -2
- data/lib/r2-oas/schema/monitor.rb +1 -1
- data/lib/r2-oas/schema/ui.rb +1 -1
- data/lib/r2-oas/schema/v3/analyzer/path_analyzer.rb +1 -1
- data/lib/r2-oas/schema/v3/builder.rb +1 -1
- data/lib/r2-oas/schema/v3/builder/base_builder.rb +14 -2
- data/lib/r2-oas/schema/v3/builder/doc_builder.rb +10 -2
- data/lib/r2-oas/schema/v3/generator/base_generator.rb +7 -2
- data/lib/r2-oas/schema/v3/generator/doc_generator.rb +1 -1
- data/lib/r2-oas/schema/v3/manager/file/include_ref_base_file_manager.rb +3 -2
- data/lib/r2-oas/schema/v3/object/from_files/base_object.rb +62 -0
- data/lib/r2-oas/schema/v3/object/from_files/components/request_body_object.rb +103 -0
- data/lib/r2-oas/schema/v3/object/from_files/components/schema_object.rb +102 -0
- data/lib/r2-oas/schema/v3/object/from_files/components_object.rb +46 -0
- data/lib/r2-oas/schema/v3/object/from_files/external_document_object.rb +23 -0
- data/lib/r2-oas/schema/v3/object/from_files/info_object.rb +23 -0
- data/lib/r2-oas/schema/v3/object/from_files/openapi_object.rb +61 -0
- data/lib/r2-oas/schema/v3/object/from_files/path_item_object.rb +110 -0
- data/lib/r2-oas/schema/v3/object/from_files/paths_object.rb +33 -0
- data/lib/r2-oas/schema/v3/object/from_files/utils/all.rb +4 -0
- data/lib/r2-oas/schema/v3/object/from_files/utils/deep_methods.rb +27 -0
- data/lib/r2-oas/schema/v3/object/from_files/utils/refs.rb +151 -0
- data/lib/r2-oas/schema/v3/object/{public.rb → from_routes/all.rb} +0 -0
- data/lib/r2-oas/schema/v3/object/from_routes/base_object.rb +41 -0
- data/lib/r2-oas/schema/v3/object/{components → from_routes/components}/request_body_object.rb +19 -28
- data/lib/r2-oas/schema/v3/object/{components → from_routes/components}/schema_object.rb +12 -16
- data/lib/r2-oas/schema/v3/object/{components_object.rb → from_routes/components_object.rb} +19 -13
- data/lib/r2-oas/schema/v3/object/{external_document_object.rb → from_routes/external_document_object.rb} +9 -2
- data/lib/r2-oas/schema/v3/object/{info_object.rb → from_routes/info_object.rb} +9 -2
- data/lib/r2-oas/schema/v3/object/{openapi_object.rb → from_routes/openapi_object.rb} +16 -11
- data/lib/r2-oas/schema/v3/object/{path_item_object.rb → from_routes/path_item_object.rb} +8 -8
- data/lib/r2-oas/schema/v3/object/{paths_object.rb → from_routes/paths_object.rb} +13 -30
- data/lib/r2-oas/schema/v3/object/{server_object.rb → from_routes/server_object.rb} +0 -0
- data/lib/r2-oas/schema/v3/object/{tag_object.rb → from_routes/tag_object.rb} +2 -1
- data/lib/r2-oas/schema/v3/object/store.rb +54 -0
- data/lib/r2-oas/shared/all.rb +1 -0
- data/lib/r2-oas/shared/callable.rb +17 -0
- data/lib/r2-oas/store.rb +20 -16
- data/lib/r2-oas/support/deprecation.rb +26 -0
- data/lib/r2-oas/support/deprecation/behavior.rb +21 -0
- data/lib/r2-oas/support/deprecation/instance_delegator.rb +42 -0
- data/lib/r2-oas/support/deprecation/reporting.rb +91 -0
- data/lib/r2-oas/task.rb +1 -2
- data/lib/r2-oas/task_logging.rb +3 -7
- data/lib/r2-oas/tasks/common.rake +1 -2
- data/lib/r2-oas/tasks/main.rake +59 -9
- data/lib/r2-oas/version.rb +1 -1
- data/r2-oas.gemspec +2 -7
- metadata +55 -69
- data/.gitignore +0 -16
- data/.rspec +0 -3
- data/.rubocop.yml +0 -10
- data/.rubocop_todo.yml +0 -291
- data/.travis.yml +0 -26
- data/Appraisals +0 -13
- data/CODE_OF_CONDUCT.md +0 -74
- data/Gemfile +0 -12
- data/Rakefile +0 -8
- data/lib/r2-oas/app_configuration/tool.rb +0 -31
- data/lib/r2-oas/app_configuration/tool/paths/stats.rb +0 -43
- data/lib/r2-oas/pluggable_configuration.rb +0 -33
- data/lib/r2-oas/plugins/schema/v3/object/hookable_base_object.rb +0 -100
- data/lib/r2-oas/schema/v3/object/base_object.rb +0 -65
- data/lib/r2-oas/tasks/tool.rake +0 -83
- data/lib/r2-oas/tool/paths/ls.rb +0 -15
- data/lib/r2-oas/tool/paths/stats.rb +0 -84
data/lib/r2-oas/tool/paths/ls.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module R2OAS
|
4
|
-
module Tool
|
5
|
-
module Paths
|
6
|
-
class Ls < Base
|
7
|
-
def print
|
8
|
-
Dir.glob("#{schema_save_dir_path}/paths/**/**.yml").each do |path|
|
9
|
-
puts path.sub(%r{^#{Dir.getwd}/?}, '')
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
@@ -1,84 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'terminal-table'
|
4
|
-
require 'paint'
|
5
|
-
require 'forwardable'
|
6
|
-
|
7
|
-
module R2OAS
|
8
|
-
module Tool
|
9
|
-
module Paths
|
10
|
-
class Stats < Base
|
11
|
-
extend Forwardable
|
12
|
-
|
13
|
-
TIMESTAMPS = ['Created At', 'Updated At'].freeze
|
14
|
-
TABLE_TITLE = 'Paths Stats'
|
15
|
-
|
16
|
-
def initialize(options = {})
|
17
|
-
super
|
18
|
-
@paths_list = Dir.glob("#{schema_save_dir_path}/paths/**/**.yml")
|
19
|
-
@path_from = Pathname(File.dirname(File.expand_path(root_dir_path)))
|
20
|
-
@paths_stats = tool.paths_stats
|
21
|
-
end
|
22
|
-
|
23
|
-
def print
|
24
|
-
table.title = Paint[TABLE_TITLE, table_title_color]
|
25
|
-
puts table
|
26
|
-
puts "\n#{Paint['Red', warning_color]}: over #{month_to_turn_to_warning_color} months since the last update."
|
27
|
-
end
|
28
|
-
|
29
|
-
private
|
30
|
-
|
31
|
-
def_delegators :@paths_stats, :month_to_turn_to_warning_color, :warning_color, :table_title_color, :heading_color, :highlight_color
|
32
|
-
|
33
|
-
def table
|
34
|
-
@table ||= Terminal::Table.new do |t|
|
35
|
-
@paths_list.each_with_index do |file_path, index|
|
36
|
-
t.headings = ['No', 'File Path', *TIMESTAMPS].map { |head| Paint[head, heading_color] }
|
37
|
-
t << table_content(index, file_path)
|
38
|
-
t.style = { all_separators: true }
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
def table_content(index, file_path)
|
44
|
-
content = [(index + 1).to_s, relative_file_path(file_path), *timestamps(file_path)]
|
45
|
-
if file_path.in? paths_config.many_paths_file_paths
|
46
|
-
content.map { |c| Paint[c, highlight_color] }
|
47
|
-
else
|
48
|
-
content
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
def relative_file_path(file_path)
|
53
|
-
path_to = Pathname(file_path)
|
54
|
-
path_to.relative_path_from(@path_from).to_s
|
55
|
-
end
|
56
|
-
|
57
|
-
def timestamps(file_path)
|
58
|
-
timestamps_data(file_path) do |result, stat|
|
59
|
-
mtime = stat.mtime
|
60
|
-
result.deep_merge!(
|
61
|
-
mtime: expired?(mtime) ? Paint[mtime, warning_color] : mtime
|
62
|
-
)
|
63
|
-
end.values
|
64
|
-
end
|
65
|
-
|
66
|
-
def timestamps_data(file_path)
|
67
|
-
stat = File::Stat.new(file_path)
|
68
|
-
result = {
|
69
|
-
birthtime: stat.birthtime,
|
70
|
-
mtime: stat.mtime
|
71
|
-
}
|
72
|
-
yield result, stat if block_given?
|
73
|
-
result
|
74
|
-
end
|
75
|
-
|
76
|
-
def expired?(mtime)
|
77
|
-
month = month_to_turn_to_warning_color.send(:month)
|
78
|
-
expired_at = Time.current.ago(month)
|
79
|
-
mtime < expired_at
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|
83
|
-
end
|
84
|
-
end
|