class SimpleCov::FileList
An array of SimpleCov
SourceFile
instances with additional collection helper methods for calculating coverage across them etc.
Public Class Methods
Source
# File lib/simplecov/file_list.rb, line 22 def initialize(files) @files = files end
Public Instance Methods
Source
# File lib/simplecov/file_list.rb, line 101 def branch_covered_percent coverage_statistics[:branch]&.percent end
Source
# File lib/simplecov/file_list.rb, line 26 def coverage_statistics @coverage_statistics ||= compute_coverage_statistics end
Source
# File lib/simplecov/file_list.rb, line 30 def coverage_statistics_by_file @coverage_statistics_by_file ||= compute_coverage_statistics_by_file end
Source
# File lib/simplecov/file_list.rb, line 92 def covered_branches coverage_statistics[:branch]&.covered end
Return total count of covered branches
Source
# File lib/simplecov/file_list.rb, line 35 def covered_lines coverage_statistics[:line]&.covered end
Returns the count of lines that have coverage
Source
# File lib/simplecov/file_list.rb, line 76 def covered_percent coverage_statistics[:line]&.percent end
Computes the coverage based upon lines covered and lines missed @return [Float]
Source
# File lib/simplecov/file_list.rb, line 60 def covered_percentages map(&:covered_percent) end
Computes the coverage based upon lines covered and lines missed for each file Returns an array with all coverage percentages
Source
# File lib/simplecov/file_list.rb, line 82 def covered_strength coverage_statistics[:line]&.strength end
Computes the strength (hits / line) based upon lines covered and lines missed @return [Float]
Source
# File lib/simplecov/file_list.rb, line 65 def least_covered_file min_by(&:covered_percent).filename end
Finds the least covered file and returns that file’s name
Source
# File lib/simplecov/file_list.rb, line 70 def lines_of_code coverage_statistics[:line]&.total end
Returns the overall amount of relevant lines of code across all files in this list
Source
# File lib/simplecov/file_list.rb, line 97 def missed_branches coverage_statistics[:branch]&.missed end
Return total count of covered branches
Source
# File lib/simplecov/file_list.rb, line 40 def missed_lines coverage_statistics[:line]&.missed end
Returns the count of lines that have been missed
Source
# File lib/simplecov/file_list.rb, line 45 def never_lines return 0.0 if empty? map { |f| f.never_lines.count }.inject(:+) end
Returns the count of lines that are not relevant for coverage
Source
# File lib/simplecov/file_list.rb, line 52 def skipped_lines return 0.0 if empty? map { |f| f.skipped_lines.count }.inject(:+) end
Returns the count of skipped lines
Source
# File lib/simplecov/file_list.rb, line 87 def total_branches coverage_statistics[:branch]&.total end
Return total count of branches in all files
Private Instance Methods
Source
# File lib/simplecov/file_list.rb, line 114 def compute_coverage_statistics coverage_statistics = {line: CoverageStatistics.from(coverage_statistics_by_file[:line])} coverage_statistics[:branch] = CoverageStatistics.from(coverage_statistics_by_file[:branch]) if SimpleCov.branch_coverage? coverage_statistics end
Source
# File lib/simplecov/file_list.rb, line 107 def compute_coverage_statistics_by_file @files.each_with_object(line: [], branch: []) do |file, together| together[:line] << file.coverage_statistics.fetch(:line) together[:branch] << file.coverage_statistics.fetch(:branch) if SimpleCov.branch_coverage? end end