module SimpleCov::Combine::LinesCombiner
Combine
two different lines coverage results on same file
Should be called through ‘SimpleCov.combine`.
Public Instance Methods
combine(coverage_a, coverage_b)
click to toggle source
# File lib/simplecov/combine/lines_combiner.rb, line 12 def combine(coverage_a, coverage_b) coverage_a .zip(coverage_b) .map do |coverage_a_val, coverage_b_val| merge_line_coverage(coverage_a_val, coverage_b_val) end end
merge_line_coverage(first_val, second_val)
click to toggle source
Return depends on coverage in a specific line
@param [Integer || nil] first_val @param [Integer || nil] second_val
Logic:
> nil + 0 = nil¶ ↑
> nil + nil = nil¶ ↑
> int + int = int¶ ↑
@return [Integer || nil]
# File lib/simplecov/combine/lines_combiner.rb, line 32 def merge_line_coverage(first_val, second_val) sum = first_val.to_i + second_val.to_i if sum.zero? && (first_val.nil? || second_val.nil?) nil else sum end end