Class: Rcov::Formatters::HTMLProfiling
Constant Summary
collapse
- DEFAULT_OPTS =
{ :destdir => "profiling" }
BaseFormatter::RCOV_IGNORE_REGEXPS
Instance Method Summary
collapse
#execute
#add_file, #code_coverage, #each_file_pair_sorted, #mangle_filename, #normalize_filename, #num_code_lines, #num_lines, #sorted_file_pairs, #total_coverage
Constructor Details
Returns a new instance of HTMLProfiling.
6
7
8
9
10
11
|
# File 'lib/rcov/formatters/html_profiling.rb', line 6
def initialize(opts = {})
options = DEFAULT_OPTS.clone.update(opts)
super(options)
@max_cache = {}
@median_cache = {}
end
|
Instance Method Details
#default_color ⇒ Object
17
18
19
20
21
22
23
|
# File 'lib/rcov/formatters/html_profiling.rb', line 17
def default_color
if @color
"rgb(179,205,255)"
else
"rgb(255, 255, 255)"
end
end
|
#default_title ⇒ Object
13
14
15
|
# File 'lib/rcov/formatters/html_profiling.rb', line 13
def default_title
"Bogo-profile information"
end
|
#output_color_table? ⇒ Boolean
25
26
27
|
# File 'lib/rcov/formatters/html_profiling.rb', line 25
def output_color_table?
false
end
|
#span_class(sourceinfo, marked, count) ⇒ Object
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/rcov/formatters/html_profiling.rb', line 29
def span_class(sourceinfo, marked, count)
full_scale_range = @fsr nz_count = sourceinfo.counts.select{ |x| x && x != 0 }
nz_count << 1 max = @max_cache[sourceinfo] ||= nz_count.max
median = @median_cache[sourceinfo] ||= 1.0 * nz_count.sort[nz_count.size/2]
max ||= 2
max = 2 if max == 1
if marked == true
count = 1 if !count || count == 0
idx = 50 + 1.0 * (500/full_scale_range) * Math.log(count/median) / Math.log(10)
idx = idx.to_i
idx = 0 if idx < 0
idx = 100 if idx > 100
"run#{idx}"
else
nil
end
end
|