Class: MetricFu::Stats
Instance Attribute Summary
Attributes inherited from Generator
#report, #template
Instance Method Summary
collapse
Methods inherited from Generator
class_name, #create_data_dir_if_missing, #create_metric_dir_if_missing, #create_output_dir_if_missing, generate_report, #generate_report, #initialize, #metric_directory, metric_directory, #round_to_tenths, #to_graph, verify_dependencies!
Instance Method Details
#analyze ⇒ Object
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/generators/stats.rb', line 9
def analyze
output = File.open(metric_directory + '/stats.txt').read
output = output.split("\n")
output = output.find_all {|line| line[0].chr != "+" }
output = output.find_all {|line| line[0].chr != "(" }
output.shift
totals = output.pop
totals = totals.split(" ").find_all {|el| ! el.empty? }
@stats = {}
@stats[:codeLOC] = totals[0].match(/\d.*/)[0].to_i
@stats[:testLOC] = totals[1].match(/\d.*/)[0].to_i
@stats[:code_to_test_ratio] = totals[2].match(/1\:(\d.*)/)[1].to_f
@stats[:lines] = output.map do |line|
elements = line.split("|")
elements.map! {|el| el.strip }
elements = elements.find_all {|el| ! el.empty? }
info_line = {}
info_line[:name] = elements.shift
elements.map! {|el| el.to_i }
[:lines, :loc, :classes, :methods,
:methods_per_class, :loc_per_method].each do |sym|
info_line[sym] = elements.shift
end
info_line
end
@stats
end
|
#emit ⇒ Object
5
6
7
|
# File 'lib/generators/stats.rb', line 5
def emit
`rake stats > #{metric_directory + '/stats.txt'}`
end
|
#to_h ⇒ Object
38
39
40
|
# File 'lib/generators/stats.rb', line 38
def to_h
{:stats => @stats}
end
|