Class: FlayAnalyzer
Constant Summary
collapse
- COLUMNS =
%w{flay_reason flay_matching_reason}
Instance Method Summary
collapse
#average, #identity, #percentile, #present, #sum
Instance Method Details
#columns ⇒ Object
6
7
8
|
# File 'lib/base/flay_analyzer.rb', line 6
def columns
COLUMNS
end
|
#generate_records(data, table) ⇒ Object
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/base/flay_analyzer.rb', line 26
def generate_records(data, table)
return if data==nil
Array(data[:matches]).each do |match|
problems = match[:reason]
matching_reason = problems.gsub(/^[0-9]+\) /,'').gsub(/\:[0-9]+/,'')
files = []
locations = []
match[:matches].each do |file_match|
file_path = file_match[:name].sub(%r{^/},'')
locations << "#{file_path}:#{file_match[:line]}"
files << file_path
end
files = files.uniq
files.each do |file|
table << {
"metric" => self.name,
"file_path" => file,
"flay_reason" => problems+" files: #{locations.join(', ')}",
"flay_matching_reason" => matching_reason
}
end
end
end
|
#name ⇒ Object
10
11
12
|
# File 'lib/base/flay_analyzer.rb', line 10
def name
:flay
end
|
#reduce(scores) ⇒ Object
18
19
20
|
# File 'lib/base/flay_analyzer.rb', line 18
def reduce(scores)
ScoringStrategies.sum(scores)
end
|
#score(metric_ranking, item) ⇒ Object
22
23
24
|
# File 'lib/base/flay_analyzer.rb', line 22
def score(metric_ranking, item)
ScoringStrategies.percentile(metric_ranking, item)
end
|