Class: MetricFu::RCovFormatCoverage::TestCoverage

Inherits:
Object
  • Object
show all
Defined in:
lib/metric_fu/metrics/rcov/rcov_format_coverage.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(filename_content) ⇒ TestCoverage

Returns a new instance of TestCoverage.



44
45
46
47
48
# File 'lib/metric_fu/metrics/rcov/rcov_format_coverage.rb', line 44

def initialize(filename_content)
  @files = filename_content
  @global_total_lines = 0
  @global_total_lines_run = 0
end

Class Method Details

.floating_percent(numerator, denominator) ⇒ Object



59
60
61
# File 'lib/metric_fu/metrics/rcov/rcov_format_coverage.rb', line 59

def self.floating_percent(numerator, denominator)
  (numerator * 100.0) / denominator.to_f
end

.integer_percent(numerator, denominator) ⇒ Object



63
64
65
# File 'lib/metric_fu/metrics/rcov/rcov_format_coverage.rb', line 63

def self.integer_percent(numerator, denominator)
  ::MetricFu::Calculate.integer_percent(numerator, denominator)
end

.percent_run(lines) ⇒ Object



67
68
69
70
71
72
73
74
75
76
77
# File 'lib/metric_fu/metrics/rcov/rcov_format_coverage.rb', line 67

def self.percent_run(lines)
  line_coverage = RCovLine.line_coverage(lines)
  covered_lines = RCovLine.covered_lines(line_coverage)
  ignored_lines = RCovLine.ignored_lines(line_coverage)
  relevant_lines = lines.count - ignored_lines
  if block_given?
    yield covered_lines, relevant_lines
  else
    floating_percent(covered_lines, relevant_lines)
  end
end

Instance Method Details

#to_hObject



50
51
52
53
54
55
56
57
# File 'lib/metric_fu/metrics/rcov/rcov_format_coverage.rb', line 50

def to_h
  @test_coverage ||= begin
    add_coverage_percentage(@files)
    add_method_data(@files)
    add_global_percent_run(@files, @global_total_lines, @global_total_lines_run)
    @files
  end
end