class SimpleCovJSONFormatter::SourceFileFormatter
def branch_coverage
def branch_coverage { branches: branches } end
def branches
def branches branches = [] @source_file.branches.each do |branch| branches << parse_branch(branch) end branches end
def format
def format if SimpleCov.branch_coverage? line_coverage.merge(branch_coverage) else line_coverage end end
def initialize(source_file)
def initialize(source_file) @source_file = source_file @line_coverage = nil end
def line_coverage
def line_coverage @line_coverage ||= { lines: lines } end
def lines
def lines lines = [] @source_file.lines.each do |line| lines << parse_line(line) end lines end
def parse_branch(branch)
def parse_branch(branch) { type: branch.type, start_line: branch.start_line, end_line: branch.end_line, coverage: parse_line(branch) } end
def parse_line(line)
def parse_line(line) return line.coverage unless line.skipped? 'ignored' end