Sha256: 8102f5bb0a955f79ed0e4a10bce052d46d4d4e22b3162652feea88940b69c7f2
Contents?: true
Size: 1.46 KB
Versions: 3
Compression:
Stored size: 1.46 KB
Contents
require 'cgi' module Xcov class Target < Xcov::Base attr_accessor :name attr_accessor :coverage attr_accessor :files attr_accessor :file_templates def initialize (name, coverage, files) @name = CGI::escapeHTML(name) @coverage = coverage @files = files @displayable_coverage = self.create_displayable_coverage @coverage_color = self.create_coverage_color @id = Target.create_id(name) end def print_description puts "\t#{@name} (#{@coverage})" @files.each do |file| file.print_description end end def html_value @file_templates = "" @files.each do |file| @file_templates << file.html_value end Function.template("target").result(binding) end # Class methods def self.map (dictionary) name = dictionary["name"] files = dictionary["files"].map { |file| Source.map(file)} files = files.sort! { |lhs, rhs| lhs.coverage <=> rhs.coverage } .sort! { |lhs, rhs| (lhs.ignored ? 1:0) <=> (rhs.ignored ? 1:0) } coverage = Target.calculate_coverage(files) Target.new(name, coverage, files) end def self.calculate_coverage (files) coverage = 0 non_ignored_files = files.select { |file| !file.ignored } non_ignored_files.each { |file| coverage += file.coverage } coverage = coverage / non_ignored_files.count unless non_ignored_files.empty? coverage end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
xcov-0.8 | lib/xcov/model/target.rb |
xcov-0.7 | lib/xcov/model/target.rb |
xcov-0.6 | lib/xcov/model/target.rb |