Sha256: d052e8c6b18c3a84e509c905928e0f59e1a88c86b2b0900354d22dda50f58dc4
Contents?: true
Size: 1.81 KB
Versions: 1
Compression:
Stored size: 1.81 KB
Contents
require 'multi_json' require 'fitting/documentation/request/route' module Fitting module Documentation module Response class Route def initialize(coverage_responses, responses_routes) @coverage_responses = coverage_responses @responses_routes = responses_routes end def coverage @coverage ||= @responses_routes - (@responses_routes - full_coverage) end def not_coverage @not_coverage ||= @responses_routes - coverage end def cover_ratio @cover_ratio ||= (coverage.size.to_f / @responses_routes.size.to_f * 100.0).round(2) end def to_hash { 'coverage' => coverage, 'not coverage' => not_coverage } end def statistics_with_conformity_lists @request_routes ||= Fitting::Documentation::Request::Route.new(self) @request_routes.conformity_lists statistics end def statistics @request_routes ||= Fitting::Documentation::Request::Route.new(self) @request_routes.statistics valid_count = coverage.size valid_percentage = cover_ratio total_count = @responses_routes.size invalid_count = not_coverage.size invalid_percentage = 100.0 - cover_ratio puts "API responses conforming to the blueprint: #{valid_count} (#{valid_percentage}% of #{total_count})." puts "API responses with validation errors or untested: #{invalid_count} (#{invalid_percentage}% of #{total_count})." puts end private def full_coverage @coverage_responses.map do |response| response.route if response.documented? && response.valid? end.compact.uniq end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fitting-1.4.0 | lib/fitting/documentation/response/route.rb |