Class: SimpleCov::FileList
- Inherits:
-
Object
- Object
- SimpleCov::FileList
- Extended by:
- Forwardable
- Includes:
- Enumerable
- Defined in:
- lib/simplecov/file_list.rb
Overview
An array of SimpleCov SourceFile instances with additional collection helper methods for calculating coverage across them etc.
Instance Method Summary collapse
- #branch_covered_percent ⇒ Object
- #coverage_statistics ⇒ Object
-
#covered_branches ⇒ Object
Return total count of covered branches.
-
#covered_lines ⇒ Object
Returns the count of lines that have coverage.
-
#covered_percent ⇒ Float
Computes the coverage based upon lines covered and lines missed.
-
#covered_percentages ⇒ Object
Computes the coverage based upon lines covered and lines missed for each file Returns an array with all coverage percentages.
-
#covered_strength ⇒ Float
Computes the strength (hits / line) based upon lines covered and lines missed.
-
#initialize(files) ⇒ FileList
constructor
A new instance of FileList.
-
#least_covered_file ⇒ Object
Finds the least covered file and returns that file’s name.
-
#lines_of_code ⇒ Object
Returns the overall amount of relevant lines of code across all files in this list.
-
#missed_branches ⇒ Object
Return total count of covered branches.
-
#missed_lines ⇒ Object
Returns the count of lines that have been missed.
-
#never_lines ⇒ Object
Returns the count of lines that are not relevant for coverage.
-
#skipped_lines ⇒ Object
Returns the count of skipped lines.
-
#total_branches ⇒ Object
Return total count of branches in all files.
Constructor Details
#initialize(files) ⇒ FileList
Returns a new instance of FileList.
22 23 24 |
# File 'lib/simplecov/file_list.rb', line 22 def initialize(files) @files = files end |
Instance Method Details
#branch_covered_percent ⇒ Object
97 98 99 |
# File 'lib/simplecov/file_list.rb', line 97 def branch_covered_percent coverage_statistics[:branch]&.percent end |
#coverage_statistics ⇒ Object
26 27 28 |
# File 'lib/simplecov/file_list.rb', line 26 def coverage_statistics @coverage_statistics ||= compute_coverage_statistics end |
#covered_branches ⇒ Object
Return total count of covered branches
88 89 90 |
# File 'lib/simplecov/file_list.rb', line 88 def covered_branches coverage_statistics[:branch]&.covered end |
#covered_lines ⇒ Object
Returns the count of lines that have coverage
31 32 33 |
# File 'lib/simplecov/file_list.rb', line 31 def covered_lines coverage_statistics[:line]&.covered end |
#covered_percent ⇒ Float
Computes the coverage based upon lines covered and lines missed
72 73 74 |
# File 'lib/simplecov/file_list.rb', line 72 def covered_percent coverage_statistics[:line]&.percent end |
#covered_percentages ⇒ Object
Computes the coverage based upon lines covered and lines missed for each file Returns an array with all coverage percentages
56 57 58 |
# File 'lib/simplecov/file_list.rb', line 56 def covered_percentages map(&:covered_percent) end |
#covered_strength ⇒ Float
Computes the strength (hits / line) based upon lines covered and lines missed
78 79 80 |
# File 'lib/simplecov/file_list.rb', line 78 def covered_strength coverage_statistics[:line]&.strength end |
#least_covered_file ⇒ Object
Finds the least covered file and returns that file’s name
61 62 63 |
# File 'lib/simplecov/file_list.rb', line 61 def least_covered_file min_by(&:covered_percent).filename end |
#lines_of_code ⇒ Object
Returns the overall amount of relevant lines of code across all files in this list
66 67 68 |
# File 'lib/simplecov/file_list.rb', line 66 def lines_of_code coverage_statistics[:line]&.total end |
#missed_branches ⇒ Object
Return total count of covered branches
93 94 95 |
# File 'lib/simplecov/file_list.rb', line 93 def missed_branches coverage_statistics[:branch]&.missed end |
#missed_lines ⇒ Object
Returns the count of lines that have been missed
36 37 38 |
# File 'lib/simplecov/file_list.rb', line 36 def missed_lines coverage_statistics[:line]&.missed end |
#never_lines ⇒ Object
Returns the count of lines that are not relevant for coverage
41 42 43 44 45 |
# File 'lib/simplecov/file_list.rb', line 41 def never_lines return 0.0 if empty? map { |f| f.never_lines.count }.inject(:+) end |
#skipped_lines ⇒ Object
Returns the count of skipped lines
48 49 50 51 52 |
# File 'lib/simplecov/file_list.rb', line 48 def skipped_lines return 0.0 if empty? map { |f| f.skipped_lines.count }.inject(:+) end |
#total_branches ⇒ Object
Return total count of branches in all files
83 84 85 |
# File 'lib/simplecov/file_list.rb', line 83 def total_branches coverage_statistics[:branch]&.total end |