fitting 2.2.0 → 2.3.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 +11 -0
- data/README.md +7 -0
- data/lib/fitting.rb +1 -3
- data/lib/fitting/configuration.rb +41 -11
- data/lib/fitting/configuration/legacy.rb +41 -0
- data/lib/fitting/configuration/yaml.rb +60 -0
- data/lib/fitting/matchers/response_matcher.rb +33 -14
- data/lib/fitting/records/documented/request.rb +53 -0
- data/lib/fitting/records/tested/request.rb +30 -0
- data/lib/fitting/records/tested/response.rb +19 -0
- data/lib/fitting/records/unit/json_schema.rb +25 -0
- data/lib/fitting/records/unit/request.rb +36 -0
- data/lib/fitting/records/unit/response.rb +31 -0
- data/lib/fitting/statistics.rb +14 -19
- data/lib/fitting/statistics/analysis.rb +24 -0
- data/lib/fitting/statistics/great.rb +13 -0
- data/lib/fitting/statistics/list.rb +45 -0
- data/lib/fitting/statistics/lists.rb +52 -0
- data/lib/fitting/statistics/measurement.rb +94 -0
- data/lib/fitting/statistics/not_covered_responses.rb +13 -0
- data/lib/fitting/statistics/percent.rb +19 -0
- data/lib/fitting/statistics/requests_stats.rb +40 -0
- data/lib/fitting/statistics/responses_stats.rb +32 -0
- data/lib/fitting/statistics/template.rb +90 -0
- data/lib/fitting/storage/responses.rb +6 -28
- data/lib/fitting/version.rb +1 -1
- metadata +20 -11
- data/lib/fitting/route.rb +0 -28
- data/lib/fitting/route/coverage.rb +0 -45
- data/lib/fitting/route/requests.rb +0 -25
- data/lib/fitting/route/requests/combine.rb +0 -113
- data/lib/fitting/route/requests/coverage.rb +0 -58
- data/lib/fitting/route/requests/lists.rb +0 -92
- data/lib/fitting/route/requests/statistics.rb +0 -40
- data/lib/fitting/route/responses.rb +0 -24
- data/lib/fitting/storage/documentation.rb +0 -22
@@ -1,40 +0,0 @@
|
|
1
|
-
module Fitting
|
2
|
-
class Route
|
3
|
-
class Requests
|
4
|
-
class Statistics
|
5
|
-
def initialize(combine)
|
6
|
-
@full_count = combine.full_cover.size
|
7
|
-
@part_count = combine.partial_cover.size
|
8
|
-
@no_count = combine.no_cover.size
|
9
|
-
end
|
10
|
-
|
11
|
-
def to_s
|
12
|
-
@to_s ||= [
|
13
|
-
"API requests with fully implemented responses: #{@full_count} (#{full_percent}% of #{total_count}).",
|
14
|
-
"API requests with partially implemented responses: #{@part_count} (#{part_percent}% of #{total_count}).",
|
15
|
-
"API requests with no implemented responses: #{@no_count} (#{no_percent}% of #{total_count})."
|
16
|
-
].join("\n")
|
17
|
-
end
|
18
|
-
|
19
|
-
def total_count
|
20
|
-
@total_count ||= @full_count + @part_count + @no_count
|
21
|
-
end
|
22
|
-
|
23
|
-
def full_percent
|
24
|
-
@full_percentage ||= 0.0 if total_count.zero?
|
25
|
-
@full_percentage ||= (@full_count.to_f / total_count.to_f * 100.0).round(2)
|
26
|
-
end
|
27
|
-
|
28
|
-
def part_percent
|
29
|
-
@part_percentage ||= 0.0 if total_count.zero?
|
30
|
-
@part_percentage ||= (@part_count.to_f / total_count.to_f * 100.0).round(2)
|
31
|
-
end
|
32
|
-
|
33
|
-
def no_percent
|
34
|
-
@no_percentage ||= 0.0 if total_count.zero?
|
35
|
-
@no_percentage ||= (@no_count.to_f / total_count.to_f * 100.0).round(2)
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
module Fitting
|
2
|
-
class Route
|
3
|
-
class Responses
|
4
|
-
def initialize(routes, coverage)
|
5
|
-
@routes = routes
|
6
|
-
@coverage = coverage
|
7
|
-
end
|
8
|
-
|
9
|
-
def statistics
|
10
|
-
valid_count = @coverage.coverage.size
|
11
|
-
valid_percentage = @coverage.cover_ratio
|
12
|
-
total_count = @routes.size
|
13
|
-
invalid_count = @coverage.not_coverage.size
|
14
|
-
invalid_percentage = (100.0 - @coverage.cover_ratio).round(2)
|
15
|
-
|
16
|
-
[
|
17
|
-
"API responses conforming to the blueprint: #{valid_count} (#{valid_percentage}% of #{total_count}).",
|
18
|
-
'API responses with validation errors or untested: '\
|
19
|
-
"#{invalid_count} (#{invalid_percentage}% of #{total_count})."
|
20
|
-
].join("\n")
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
require 'fitting/configuration'
|
2
|
-
require 'tomograph'
|
3
|
-
|
4
|
-
module Fitting
|
5
|
-
module Storage
|
6
|
-
module Documentation
|
7
|
-
class << self
|
8
|
-
def tomogram
|
9
|
-
@tomogram ||= craft
|
10
|
-
end
|
11
|
-
|
12
|
-
def craft
|
13
|
-
Tomograph::Tomogram.new(
|
14
|
-
prefix: Fitting.configuration.prefix,
|
15
|
-
apib_path: Fitting.configuration.apib_path,
|
16
|
-
drafter_yaml_path: Fitting.configuration.drafter_yaml_path
|
17
|
-
)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|