fitting 2.17.0 → 2.18.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +34 -3
- data/CHANGELOG.md +20 -0
- data/fitting.gemspec +9 -7
- data/lib/fitting/configuration/yaml.rb +13 -13
- data/lib/fitting/configuration.rb +3 -39
- data/lib/fitting/cover/json_schema.rb +3 -2
- data/lib/fitting/cover/json_schema_enum.rb +1 -1
- data/lib/fitting/cover/json_schema_one_of.rb +1 -1
- data/lib/fitting/cover/response.rb +1 -5
- data/lib/fitting/documentation.rb +0 -2
- data/lib/fitting/matchers/response_matcher.rb +2 -9
- data/lib/fitting/records/documented/request.rb +1 -0
- data/lib/fitting/records/realized_unit.rb +13 -15
- data/lib/fitting/records/spherical/request.rb +1 -1
- data/lib/fitting/records/spherical/requests.rb +2 -1
- data/lib/fitting/records/spherical/response.rb +2 -2
- data/lib/fitting/records/test_unit/request.rb +4 -0
- data/lib/fitting/records/tested/request.rb +4 -4
- data/lib/fitting/records/unit/combination.rb +5 -6
- data/lib/fitting/records/unit/json_schema.rb +38 -33
- data/lib/fitting/records/unit/request.rb +1 -0
- data/lib/fitting/records/unit/response.rb +1 -0
- data/lib/fitting/report/action.rb +6 -9
- data/lib/fitting/report/actions.rb +7 -5
- data/lib/fitting/report/combination.rb +1 -15
- data/lib/fitting/report/combinations.rb +4 -5
- data/lib/fitting/report/console.rb +33 -12
- data/lib/fitting/report/prefix.rb +42 -51
- data/lib/fitting/report/prefixes.rb +3 -3
- data/lib/fitting/report/response.rb +17 -18
- data/lib/fitting/report/responses.rb +9 -8
- data/lib/fitting/report/test.rb +9 -11
- data/lib/fitting/report/tests.rb +10 -13
- data/lib/fitting/request.rb +0 -1
- data/lib/fitting/response.rb +4 -3
- data/lib/fitting/statistics/cover_error.rb +2 -0
- data/lib/fitting/statistics/cover_error_enum.rb +2 -0
- data/lib/fitting/statistics/cover_error_one_of.rb +2 -0
- data/lib/fitting/statistics/list.rb +5 -4
- data/lib/fitting/statistics/not_covered_responses.rb +1 -1
- data/lib/fitting/statistics/percent.rb +2 -1
- data/lib/fitting/statistics/template.rb +10 -8
- data/lib/fitting/storage/responses.rb +2 -2
- data/lib/fitting/storage/white_list.rb +7 -0
- data/lib/fitting/templates/realized_template.rb +2 -0
- data/lib/fitting/tests.rb +1 -1
- data/lib/fitting/version.rb +1 -1
- data/lib/fitting.rb +9 -6
- data/lib/tasks/fitting.rake +63 -54
- metadata +29 -42
- data/lib/fitting/configuration/legacy.rb +0 -60
@@ -48,26 +48,28 @@ module Fitting
|
|
48
48
|
|
49
49
|
def white_measurement
|
50
50
|
@white_measurement ||=
|
51
|
-
|
51
|
+
case @depth
|
52
|
+
when 'valid'
|
52
53
|
Fitting::Statistics::Measurement.new(white_unit)
|
53
|
-
|
54
|
+
when 'cover'
|
54
55
|
Fitting::Statistics::MeasurementCover.new(white_unit)
|
55
|
-
|
56
|
+
when 'cover_enum'
|
56
57
|
Fitting::Statistics::MeasurementCoverEnum.new(white_unit)
|
57
|
-
|
58
|
+
when 'cover_one_of'
|
58
59
|
Fitting::Statistics::MeasurementCoverOneOf.new(white_unit)
|
59
60
|
end
|
60
61
|
end
|
61
62
|
|
62
63
|
def black_measurement
|
63
64
|
@black_measurement ||=
|
64
|
-
|
65
|
+
case @depth
|
66
|
+
when 'valid'
|
65
67
|
Fitting::Statistics::Measurement.new(black_unit)
|
66
|
-
|
68
|
+
when 'cover'
|
67
69
|
Fitting::Statistics::MeasurementCover.new(black_unit)
|
68
|
-
|
70
|
+
when 'cover_enum'
|
69
71
|
Fitting::Statistics::MeasurementCoverEnum.new(black_unit)
|
70
|
-
|
72
|
+
when 'cover_one_of'
|
71
73
|
Fitting::Statistics::MeasurementCoverOneOf.new(black_unit)
|
72
74
|
end
|
73
75
|
end
|
@@ -9,8 +9,8 @@ module Fitting
|
|
9
9
|
@tested_requests = []
|
10
10
|
end
|
11
11
|
|
12
|
-
def add(env_response,
|
13
|
-
@tested_requests.push(Fitting::Records::Tested::Request.new(env_response,
|
12
|
+
def add(env_response, metadata = {})
|
13
|
+
@tested_requests.push(Fitting::Records::Tested::Request.new(env_response, metadata))
|
14
14
|
end
|
15
15
|
|
16
16
|
def statistics
|
@@ -17,6 +17,7 @@ module Fitting
|
|
17
17
|
return nil if @white_list == nil && @resource_white_list == nil && @include_resources == nil && @include_actions == nil
|
18
18
|
return @white_list if @white_list
|
19
19
|
return @white_list = transformation if @resource_white_list
|
20
|
+
|
20
21
|
@white_list = {}
|
21
22
|
@white_list.merge!(new_transformation) if @include_resources
|
22
23
|
@white_list.merge!(postnew_transformation) if @include_actions
|
@@ -25,6 +26,7 @@ module Fitting
|
|
25
26
|
|
26
27
|
def without_group
|
27
28
|
return @without_group_list if @without_group_list
|
29
|
+
|
28
30
|
@without_group_list = @resource_white_list.inject([]) do |all_requests, resource|
|
29
31
|
resource_selection(resource, all_requests)
|
30
32
|
end.flatten.uniq
|
@@ -43,6 +45,7 @@ module Fitting
|
|
43
45
|
|
44
46
|
def find_warnings(resource)
|
45
47
|
return nil if @resources[resource]
|
48
|
+
|
46
49
|
@warnings.push(
|
47
50
|
"FITTING WARNING: In the documentation there isn't resource from the resource_white_list #{resource}"
|
48
51
|
)
|
@@ -50,6 +53,7 @@ module Fitting
|
|
50
53
|
|
51
54
|
def puts_warnings
|
52
55
|
return nil if @warnings == []
|
56
|
+
|
53
57
|
warnings_string = @warnings.join("\n")
|
54
58
|
puts "\n#{warnings_string}"
|
55
59
|
end
|
@@ -93,6 +97,7 @@ module Fitting
|
|
93
97
|
|
94
98
|
def new_without_group
|
95
99
|
return @newwithout_group_list if @newwithout_group_list
|
100
|
+
|
96
101
|
@newwithout_group_list = @include_resources.inject([]) do |all_requests, resource|
|
97
102
|
if resource[0] == '/'
|
98
103
|
new_resource_selection(resource, all_requests)
|
@@ -120,6 +125,7 @@ module Fitting
|
|
120
125
|
|
121
126
|
def new_find_warnings(resource)
|
122
127
|
return nil if @new_resources[resource]
|
128
|
+
|
123
129
|
@warnings.push(
|
124
130
|
"FITTING WARNING: In the documentation there isn't resource from the resource_white_list #{resource}"
|
125
131
|
)
|
@@ -135,6 +141,7 @@ module Fitting
|
|
135
141
|
|
136
142
|
def postnew_without_group
|
137
143
|
return @postnewwithout_group_list if @postnewwithout_group_list
|
144
|
+
|
138
145
|
@postnewwithout_group_list = @include_actions.inject([]) do |all_requests, resource|
|
139
146
|
method, path = resource.split(' ')
|
140
147
|
if path[0] == '/'
|
@@ -27,8 +27,10 @@ module Fitting
|
|
27
27
|
all_good = requests.all?(&:valid_json_schemas?)
|
28
28
|
res += "path: #{key} #{all_good ? '✔' : '✖'}\n"
|
29
29
|
next if all_good
|
30
|
+
|
30
31
|
requests.map do |request|
|
31
32
|
next if request.valid_json_schemas?
|
33
|
+
|
32
34
|
res += " full path: #{request.test_path} ✖\n"
|
33
35
|
res += " request.method #{request.method}\n"
|
34
36
|
res += " request.path #{request.path}\n"
|
data/lib/fitting/tests.rb
CHANGED
@@ -13,7 +13,7 @@ module Fitting
|
|
13
13
|
end
|
14
14
|
json = JSON.dump(array)
|
15
15
|
|
16
|
-
File.open("fitting_tests/test#{ENV[
|
16
|
+
File.open("fitting_tests/test#{ENV['TEST_ENV_NUMBER']}.json", 'w') { |file| file.write(json) }
|
17
17
|
end
|
18
18
|
|
19
19
|
def make_dir(dir_name)
|
data/lib/fitting/version.rb
CHANGED
data/lib/fitting.rb
CHANGED
@@ -16,7 +16,6 @@ module Fitting
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def statistics
|
19
|
-
puts 'DEPRECATED: deprecated method statistics, use new method save_test_data'
|
20
19
|
responses = Fitting::Storage::Responses.new
|
21
20
|
|
22
21
|
RSpec.configure do |config|
|
@@ -30,18 +29,21 @@ module Fitting
|
|
30
29
|
end
|
31
30
|
end
|
32
31
|
|
32
|
+
extend Gem::Deprecate
|
33
|
+
deprecate :statistics, :save_test_data, 2022, 1
|
34
|
+
|
33
35
|
def save_test_data
|
34
36
|
responses = Fitting::Storage::Responses.new
|
35
37
|
|
36
|
-
FileUtils.rm_r Dir.glob(
|
38
|
+
FileUtils.rm_r Dir.glob('fitting_tests/*'), force: true
|
37
39
|
|
38
40
|
RSpec.configure do |config|
|
39
|
-
config.after(:each, type: :request) do
|
40
|
-
responses.add(response,
|
41
|
+
config.after(:each, type: :request) do |example|
|
42
|
+
responses.add(response, example.metadata)
|
41
43
|
end
|
42
44
|
|
43
|
-
config.after(:each, type: :controller) do
|
44
|
-
responses.add(response,
|
45
|
+
config.after(:each, type: :controller) do |example|
|
46
|
+
responses.add(response, example.metadata)
|
45
47
|
end
|
46
48
|
|
47
49
|
config.after(:suite) do
|
@@ -61,6 +63,7 @@ module Fitting
|
|
61
63
|
|
62
64
|
def self.load_tasks
|
63
65
|
return if loaded_tasks
|
66
|
+
|
64
67
|
self.loaded_tasks = true
|
65
68
|
|
66
69
|
Dir[File.join(File.dirname(__FILE__), 'tasks', '**/*.rake')].each do |rake|
|
data/lib/tasks/fitting.rake
CHANGED
@@ -22,29 +22,33 @@ namespace :fitting do
|
|
22
22
|
end
|
23
23
|
|
24
24
|
prefixes.to_a.map do |prefix|
|
25
|
+
next if prefix.skip?
|
26
|
+
|
25
27
|
prefix.actions.to_a.map do |action|
|
26
28
|
action.responses.join(action.tests)
|
27
|
-
end
|
29
|
+
end
|
28
30
|
end
|
29
31
|
|
30
32
|
prefixes.to_a.map do |prefix|
|
33
|
+
next if prefix.skip?
|
34
|
+
|
31
35
|
prefix.actions.to_a.map do |action|
|
32
36
|
action.responses.to_a.map do |response|
|
33
37
|
response.combinations.join(response.tests)
|
34
38
|
end
|
35
|
-
end
|
39
|
+
end
|
36
40
|
end
|
37
41
|
|
38
42
|
report = JSON.pretty_generate(
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
+
{
|
44
|
+
tests_without_prefixes: tests.without_prefixes,
|
45
|
+
prefixes_details: prefixes.to_a.map(&:details)
|
46
|
+
}
|
43
47
|
)
|
44
48
|
|
45
49
|
destination = 'fitting'
|
46
50
|
FileUtils.mkdir_p(destination)
|
47
|
-
FileUtils.rm_r Dir.glob("#{destination}/*"), :
|
51
|
+
FileUtils.rm_r Dir.glob("#{destination}/*"), force: true
|
48
52
|
File.open('fitting/report.json', 'w') { |file| file.write(report) }
|
49
53
|
|
50
54
|
gem_path = $LOAD_PATH.find { |i| i.include?('fitting') }
|
@@ -54,6 +58,8 @@ namespace :fitting do
|
|
54
58
|
json_schemas = {}
|
55
59
|
combinations = {}
|
56
60
|
prefixes.to_a.map do |prefix|
|
61
|
+
next if prefix.skip?
|
62
|
+
|
57
63
|
prefix.actions.to_a.map do |action|
|
58
64
|
action.responses.to_a.map do |response|
|
59
65
|
json_schemas.merge!(response.id => response.body)
|
@@ -61,80 +67,81 @@ namespace :fitting do
|
|
61
67
|
combinations.merge!(combination.id => combination.json_schema)
|
62
68
|
end
|
63
69
|
end
|
64
|
-
end
|
70
|
+
end
|
65
71
|
end
|
66
72
|
File.open('fitting/json_schemas.json', 'w') { |file| file.write(JSON.pretty_generate(json_schemas)) }
|
67
73
|
File.open('fitting/combinations.json', 'w') { |file| file.write(JSON.pretty_generate(combinations)) }
|
68
74
|
File.open('fitting/tests.json', 'w') { |file| file.write(JSON.pretty_generate(tests.to_h)) }
|
69
75
|
|
70
|
-
js_path = Dir["#{destination}/js/*"].find { |f| f[0..14] == 'fitting/js/app.' and f[-3
|
76
|
+
js_path = Dir["#{destination}/js/*"].find { |f| f[0..14] == 'fitting/js/app.' and f[-3..] == '.js' }
|
71
77
|
js_file = File.read(js_path)
|
72
|
-
new_js_file = js_file.gsub(
|
73
|
-
new_js_file = new_js_file.gsub(
|
74
|
-
new_js_file = new_js_file.gsub(
|
75
|
-
new_js_file = new_js_file.gsub(
|
76
|
-
new_js_file = new_js_file.gsub(
|
78
|
+
new_js_file = js_file.gsub('{stub:"prefixes report"}', report)
|
79
|
+
new_js_file = new_js_file.gsub('{stub:"for action page"}', report)
|
80
|
+
new_js_file = new_js_file.gsub('{stub:"json-schemas"}', JSON.pretty_generate(json_schemas))
|
81
|
+
new_js_file = new_js_file.gsub('{stub:"combinations"}', JSON.pretty_generate(combinations))
|
82
|
+
new_js_file = new_js_file.gsub('{stub:"tests"}', JSON.pretty_generate(tests.to_h))
|
77
83
|
File.open(js_path, 'w') { |file| file.write(new_js_file) }
|
78
84
|
|
79
85
|
console = Fitting::Report::Console.new(
|
80
|
-
|
81
|
-
|
86
|
+
tests.without_prefixes,
|
87
|
+
prefixes.to_a.map(&:details)
|
82
88
|
)
|
83
89
|
|
84
90
|
puts console.output
|
91
|
+
puts console.output_sum
|
85
92
|
|
86
93
|
exit 1 unless console.good?
|
87
94
|
|
88
95
|
exit 0
|
89
96
|
|
90
97
|
actions.map do |action|
|
91
|
-
action.to_hash[
|
98
|
+
action.to_hash['responses'].map do |response|
|
92
99
|
response['combination'] ||= []
|
93
|
-
combinations = Fitting::Cover::JSONSchema.new(response['body']).combi +
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
100
|
+
combinations = Fitting::Cover::JSONSchema.new(response['body']).combi +
|
101
|
+
Fitting::Cover::JSONSchemaEnum.new(response['body']).combi +
|
102
|
+
Fitting::Cover::JSONSchemaOneOf.new(response['body']).combi
|
103
|
+
next unless combinations != []
|
104
|
+
|
105
|
+
combinations.map do |combination|
|
106
|
+
response['combination'].push(
|
107
|
+
{
|
108
|
+
'json_schema' => combination[0],
|
109
|
+
'type' => combination[1][0],
|
110
|
+
'combination' => combination[1][1],
|
111
|
+
'tests' => [],
|
112
|
+
'error' => []
|
113
|
+
}
|
114
|
+
)
|
106
115
|
end
|
107
116
|
end
|
108
117
|
end
|
109
118
|
|
110
119
|
actions.map do |action|
|
111
|
-
action.to_hash[
|
120
|
+
action.to_hash['responses'].map do |response|
|
112
121
|
response['tests'] ||= []
|
113
122
|
response['tests'].map do |test|
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
end
|
125
|
-
rescue JSON::Schema::SchemaError => error
|
126
|
-
combination['error'].push({test: test, error: error})
|
127
|
-
end
|
123
|
+
next unless response['combination'][0]
|
124
|
+
|
125
|
+
response['combination'].map do |combination|
|
126
|
+
res = JSON::Validator.fully_validate(combination['json_schema'], test['response']['body'])
|
127
|
+
if res == []
|
128
|
+
combination['tests'].push(test)
|
129
|
+
response['tests'] = response['tests'] - [test]
|
130
|
+
next
|
131
|
+
else
|
132
|
+
combination['error'].push({ test: test, error: res })
|
128
133
|
end
|
134
|
+
rescue JSON::Schema::SchemaError => e
|
135
|
+
combination['error'].push({ test: test, error: e })
|
129
136
|
end
|
130
137
|
end
|
131
138
|
end
|
132
139
|
end
|
133
140
|
|
134
|
-
actions_test = {actions: actions, tests: tests}
|
141
|
+
actions_test = { actions: actions, tests: tests }
|
135
142
|
|
136
143
|
makedirs('fitting')
|
137
|
-
File.open('fitting/old_report.json', 'w') { |file| file.write(
|
144
|
+
File.open('fitting/old_report.json', 'w') { |file| file.write(JSON.dump(actions_test)) }
|
138
145
|
end
|
139
146
|
|
140
147
|
# deprecated
|
@@ -154,7 +161,8 @@ namespace :fitting do
|
|
154
161
|
|
155
162
|
desc 'Fitting documentation responses cover'
|
156
163
|
task :documentation_responses, [:size] => :environment do |_, args|
|
157
|
-
|
164
|
+
case args.size
|
165
|
+
when 'xs'
|
158
166
|
documented_unit = Fitting::Statistics::Template.new(
|
159
167
|
Fitting::Records::Spherical::Requests.new,
|
160
168
|
Fitting.configuration
|
@@ -165,7 +173,7 @@ namespace :fitting do
|
|
165
173
|
puts 'Not all responses from the whitelist are covered!'
|
166
174
|
exit 1
|
167
175
|
end
|
168
|
-
|
176
|
+
when 's'
|
169
177
|
documented_unit = Fitting::Statistics::Template.new(
|
170
178
|
Fitting::Records::Spherical::Requests.new,
|
171
179
|
Fitting.configuration,
|
@@ -177,7 +185,7 @@ namespace :fitting do
|
|
177
185
|
puts 'Not all responses from the whitelist are covered!'
|
178
186
|
exit 1
|
179
187
|
end
|
180
|
-
|
188
|
+
when 'm'
|
181
189
|
documented_unit = Fitting::Statistics::Template.new(
|
182
190
|
Fitting::Records::Spherical::Requests.new,
|
183
191
|
Fitting.configuration,
|
@@ -189,7 +197,7 @@ namespace :fitting do
|
|
189
197
|
puts 'Not all responses from the whitelist are covered!'
|
190
198
|
exit 1
|
191
199
|
end
|
192
|
-
|
200
|
+
when 'l'
|
193
201
|
documented_unit = Fitting::Statistics::Template.new(
|
194
202
|
Fitting::Records::Spherical::Requests.new,
|
195
203
|
Fitting.configuration,
|
@@ -208,19 +216,20 @@ namespace :fitting do
|
|
208
216
|
|
209
217
|
desc 'Fitting documentation responses cover error'
|
210
218
|
task :documentation_responses_error, [:size] => :environment do |_, args|
|
211
|
-
|
219
|
+
case args.size
|
220
|
+
when 's'
|
212
221
|
documented_unit = Fitting::Statistics::TemplateCoverError.new(
|
213
222
|
Fitting::Records::Spherical::Requests.new,
|
214
223
|
Fitting.configuration
|
215
224
|
)
|
216
225
|
puts documented_unit.stats
|
217
|
-
|
226
|
+
when 'm'
|
218
227
|
documented_unit = Fitting::Statistics::TemplateCoverErrorEnum.new(
|
219
228
|
Fitting::Records::Spherical::Requests.new,
|
220
229
|
Fitting.configuration
|
221
230
|
)
|
222
231
|
puts documented_unit.stats
|
223
|
-
|
232
|
+
when 'l'
|
224
233
|
documented_unit = Fitting::Statistics::TemplateCoverErrorOneOf.new(
|
225
234
|
Fitting::Records::Spherical::Requests.new,
|
226
235
|
Fitting.configuration
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fitting
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.18.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- d.efimov
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json-schema
|
@@ -31,19 +31,25 @@ dependencies:
|
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 2.6.2
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
|
-
name:
|
34
|
+
name: terminal-table
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: '
|
39
|
+
version: '3.0'
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 3.0.2
|
40
43
|
type: :runtime
|
41
44
|
prerelease: false
|
42
45
|
version_requirements: !ruby/object:Gem::Requirement
|
43
46
|
requirements:
|
44
47
|
- - "~>"
|
45
48
|
- !ruby/object:Gem::Version
|
46
|
-
version: '
|
49
|
+
version: '3.0'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 3.0.2
|
47
53
|
- !ruby/object:Gem::Dependency
|
48
54
|
name: tomograph
|
49
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,100 +90,82 @@ dependencies:
|
|
84
90
|
requirements:
|
85
91
|
- - "~>"
|
86
92
|
- !ruby/object:Gem::Version
|
87
|
-
version: '
|
93
|
+
version: '11.1'
|
88
94
|
- - ">="
|
89
95
|
- !ruby/object:Gem::Version
|
90
|
-
version:
|
96
|
+
version: 11.1.3
|
91
97
|
type: :development
|
92
98
|
prerelease: false
|
93
99
|
version_requirements: !ruby/object:Gem::Requirement
|
94
100
|
requirements:
|
95
101
|
- - "~>"
|
96
102
|
- !ruby/object:Gem::Version
|
97
|
-
version: '
|
103
|
+
version: '11.1'
|
98
104
|
- - ">="
|
99
105
|
- !ruby/object:Gem::Version
|
100
|
-
version:
|
106
|
+
version: 11.1.3
|
101
107
|
- !ruby/object:Gem::Dependency
|
102
108
|
name: rake
|
103
109
|
requirement: !ruby/object:Gem::Requirement
|
104
110
|
requirements:
|
105
111
|
- - "~>"
|
106
112
|
- !ruby/object:Gem::Version
|
107
|
-
version: '
|
113
|
+
version: '13.0'
|
108
114
|
- - ">="
|
109
115
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
116
|
+
version: 13.0.6
|
111
117
|
type: :development
|
112
118
|
prerelease: false
|
113
119
|
version_requirements: !ruby/object:Gem::Requirement
|
114
120
|
requirements:
|
115
121
|
- - "~>"
|
116
122
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
123
|
+
version: '13.0'
|
118
124
|
- - ">="
|
119
125
|
- !ruby/object:Gem::Version
|
120
|
-
version:
|
126
|
+
version: 13.0.6
|
121
127
|
- !ruby/object:Gem::Dependency
|
122
128
|
name: rspec
|
123
129
|
requirement: !ruby/object:Gem::Requirement
|
124
130
|
requirements:
|
125
|
-
- - ">="
|
126
|
-
- !ruby/object:Gem::Version
|
127
|
-
version: 3.4.0
|
128
131
|
- - "~>"
|
129
132
|
- !ruby/object:Gem::Version
|
130
|
-
version: '3.
|
133
|
+
version: '3.10'
|
131
134
|
type: :development
|
132
135
|
prerelease: false
|
133
136
|
version_requirements: !ruby/object:Gem::Requirement
|
134
137
|
requirements:
|
135
|
-
- - ">="
|
136
|
-
- !ruby/object:Gem::Version
|
137
|
-
version: 3.4.0
|
138
138
|
- - "~>"
|
139
139
|
- !ruby/object:Gem::Version
|
140
|
-
version: '3.
|
140
|
+
version: '3.10'
|
141
141
|
- !ruby/object:Gem::Dependency
|
142
142
|
name: rubocop
|
143
143
|
requirement: !ruby/object:Gem::Requirement
|
144
144
|
requirements:
|
145
|
-
- - ">="
|
146
|
-
- !ruby/object:Gem::Version
|
147
|
-
version: 0.49.1
|
148
145
|
- - "~>"
|
149
146
|
- !ruby/object:Gem::Version
|
150
|
-
version:
|
147
|
+
version: 1.22.0
|
151
148
|
type: :development
|
152
149
|
prerelease: false
|
153
150
|
version_requirements: !ruby/object:Gem::Requirement
|
154
151
|
requirements:
|
155
|
-
- - ">="
|
156
|
-
- !ruby/object:Gem::Version
|
157
|
-
version: 0.49.1
|
158
152
|
- - "~>"
|
159
153
|
- !ruby/object:Gem::Version
|
160
|
-
version:
|
154
|
+
version: 1.22.0
|
161
155
|
- !ruby/object:Gem::Dependency
|
162
156
|
name: simplecov
|
163
157
|
requirement: !ruby/object:Gem::Requirement
|
164
158
|
requirements:
|
165
159
|
- - "~>"
|
166
160
|
- !ruby/object:Gem::Version
|
167
|
-
version: '0.
|
168
|
-
- - ">="
|
169
|
-
- !ruby/object:Gem::Version
|
170
|
-
version: 0.11.2
|
161
|
+
version: '0.21'
|
171
162
|
type: :development
|
172
163
|
prerelease: false
|
173
164
|
version_requirements: !ruby/object:Gem::Requirement
|
174
165
|
requirements:
|
175
166
|
- - "~>"
|
176
167
|
- !ruby/object:Gem::Version
|
177
|
-
version: '0.
|
178
|
-
- - ">="
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: 0.11.2
|
168
|
+
version: '0.21'
|
181
169
|
description: Coverage API Blueprint, Swagger and OpenAPI with RSpec for easily make
|
182
170
|
high-quality API and documenatiton
|
183
171
|
email:
|
@@ -205,7 +193,6 @@ files:
|
|
205
193
|
- images/logo.png
|
206
194
|
- lib/fitting.rb
|
207
195
|
- lib/fitting/configuration.rb
|
208
|
-
- lib/fitting/configuration/legacy.rb
|
209
196
|
- lib/fitting/configuration/yaml.rb
|
210
197
|
- lib/fitting/cover/json_schema.rb
|
211
198
|
- lib/fitting/cover/json_schema_enum.rb
|
@@ -296,7 +283,7 @@ homepage: https://github.com/funbox/fitting
|
|
296
283
|
licenses:
|
297
284
|
- MIT
|
298
285
|
metadata: {}
|
299
|
-
post_install_message:
|
286
|
+
post_install_message:
|
300
287
|
rdoc_options: []
|
301
288
|
require_paths:
|
302
289
|
- lib
|
@@ -304,7 +291,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
304
291
|
requirements:
|
305
292
|
- - ">="
|
306
293
|
- !ruby/object:Gem::Version
|
307
|
-
version:
|
294
|
+
version: 2.6.0
|
308
295
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
309
296
|
requirements:
|
310
297
|
- - ">="
|
@@ -312,7 +299,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
312
299
|
version: '0'
|
313
300
|
requirements: []
|
314
301
|
rubygems_version: 3.0.1
|
315
|
-
signing_key:
|
302
|
+
signing_key:
|
316
303
|
specification_version: 4
|
317
304
|
summary: Coverage API Blueprint, Swagger and OpenAPI with RSpec
|
318
305
|
test_files: []
|
@@ -1,60 +0,0 @@
|
|
1
|
-
require 'tomograph'
|
2
|
-
|
3
|
-
module Fitting
|
4
|
-
class Configuration
|
5
|
-
class Legacy
|
6
|
-
attr_accessor :apib_path,
|
7
|
-
:drafter_yaml_path,
|
8
|
-
:crafter_apib_path,
|
9
|
-
:crafter_yaml_path,
|
10
|
-
:drafter_4_apib_path,
|
11
|
-
:drafter_4_yaml_path,
|
12
|
-
:strict,
|
13
|
-
:prefix,
|
14
|
-
:white_list,
|
15
|
-
:resource_white_list,
|
16
|
-
:ignore_list,
|
17
|
-
:include_resources,
|
18
|
-
:include_actions
|
19
|
-
|
20
|
-
def initialize
|
21
|
-
@strict = false
|
22
|
-
@prefix = ''
|
23
|
-
@ignore_list = []
|
24
|
-
end
|
25
|
-
|
26
|
-
def tomogram
|
27
|
-
@tomogram ||= if @crafter_apib_path || @crafter_yaml_path
|
28
|
-
Tomograph::Tomogram.new(
|
29
|
-
prefix: @prefix,
|
30
|
-
crafter_apib_path: @crafter_apib_path,
|
31
|
-
crafter_yaml_path: @crafter_yaml_path
|
32
|
-
)
|
33
|
-
elsif @drafter_4_apib_path || @drafter_4_yaml_path
|
34
|
-
Tomograph::Tomogram.new(
|
35
|
-
prefix: @prefix,
|
36
|
-
drafter_4_apib_path: @drafter_4_apib_path,
|
37
|
-
drafter_4_yaml_path: @drafter_4_yaml_path
|
38
|
-
)
|
39
|
-
else Tomograph::Tomogram.new(
|
40
|
-
prefix: @prefix,
|
41
|
-
apib_path: @apib_path,
|
42
|
-
drafter_yaml_path: @drafter_yaml_path
|
43
|
-
)
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
def title
|
48
|
-
'fitting'
|
49
|
-
end
|
50
|
-
|
51
|
-
def stats_path
|
52
|
-
'fitting/stats'
|
53
|
-
end
|
54
|
-
|
55
|
-
def not_covered_path
|
56
|
-
'fitting/not_covered'
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|