Class: Speccloak::BranchCoverageChecker
- Inherits:
-
Object
- Object
- Speccloak::BranchCoverageChecker
- Includes:
- Helpers
- Defined in:
- lib/speccloak/branch_coverage_checker.rb
Overview
Checks and reports branch coverage for changed/untracked files in a project.
Instance Method Summary collapse
-
#initialize(base: "origin/main", format: "text", exclude_patterns: [], cmd_runner: ->(cmd) { `#{cmd}` }, file_reader: ->(path) { File.read(path) }) ⇒ BranchCoverageChecker
constructor
A new instance of BranchCoverageChecker.
- #run ⇒ Object
Constructor Details
#initialize(base: "origin/main", format: "text", exclude_patterns: [], cmd_runner: ->(cmd) { `#{cmd}` }, file_reader: ->(path) { File.read(path) }) ⇒ BranchCoverageChecker
Returns a new instance of BranchCoverageChecker.
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/speccloak/branch_coverage_checker.rb', line 41 def initialize( base: "origin/main", format: "text", exclude_patterns: [], cmd_runner: ->(cmd) { `#{cmd}` }, file_reader: ->(path) { File.read(path) } ) @base = base @format = format @uncovered_lines = [] @total_changed_lines = 0 @covered_changed_lines = 0 @exclude_patterns = exclude_patterns.map { |p| /#{p}/ } @untracked_files = [] @cmd_runner = cmd_runner @file_reader = file_reader end |
Instance Method Details
#run ⇒ Object
59 60 61 62 63 64 65 66 67 68 |
# File 'lib/speccloak/branch_coverage_checker.rb', line 59 def run coverage_file = find_coverage_file return exit_with_status("Coverage file not found.", ExitCodes::FAILURE) unless coverage_file changed_files = find_changed_files return exit_with_status("No Ruby files changed in this branch.", ExitCodes::SUCCESS) if changed_files.empty? analyze_files(changed_files, coverage_file) report_results end |