All Files
(95.65%
covered at
2.5
hits/line)
1 files in total.
23 relevant lines.
22 lines covered and
1 lines missed
-
1
module SimpleCov::Formatter
-
1
class VimFormatter
-
1
def format(result)
-
1
results = {}
-
1
dir_re = /^#{common_directory(result.filenames)}\//
-
1
result.filenames.zip(result.original_result.values_at(*result.filenames)).each do |name, lines|
-
2
results[name.sub(dir_re, "")] = file_results = {hits: [], misses: []}
-
2
lines.each_with_index do |hits, line|
-
8
case hits
-
when nil
-
when 0
-
file_results[:misses] << line + 1
-
else
-
8
file_results[:hits] << line + 1
-
end
-
end
-
end
-
-
1
coverage_output = "coverage.vim"
-
1
write_file(template("coverage.vim"), coverage_output, binding)
-
-
1
puts "Wrote vim coverage script to #{coverage_output}"
-
end
-
-
1
def common_directory(files)
-
3
File::join(files.map{|file| file.split(File::Separator)}.inject do |dir, path|
-
18
dir.zip(path).take_while{|l,r| l == r}.map{|l,_| l}
-
end)
-
end
-
-
1
def write_file(template, output_filename, binding)
-
1
content = template.result( binding )
-
-
1
File.open( output_filename, "w" ) do |file_result|
-
1
file_result.write content
-
end
-
end
-
-
1
def template(name)
-
1
ERB.new(File.read(File.join(File.dirname(__FILE__), "#{name}.erb")), nil, '-')
-
end
-
end
-
end