class SaikuroAnalyzer

Constants

COLUMNS

Public Instance Methods

columns() click to toggle source
# File lib/base/saikuro_analyzer.rb, line 6
def columns
  COLUMNS
end
generate_records(data, table) click to toggle source
# File lib/base/saikuro_analyzer.rb, line 26
def generate_records(data, table)
  return if data == nil
  data[:files].each do |file|
    file_name = file[:filename]
    file[:classes].each do |klass|
      location = MetricFu::Location.for(klass[:class_name])
      offending_class = location.class_name
      klass[:methods].each do |match|
        offending_method = MetricFu::Location.for(match[:name]).method_name
        table << {
          "metric" => name,
          "lines" => match[:lines],
          "complexity" => match[:complexity],
          "class_name" => offending_class,
          "method_name" => offending_method,
          "file_path" => file_name,
        }
      end
    end
  end
end
map(row) click to toggle source
# File lib/base/saikuro_analyzer.rb, line 14
def map(row)
  row.complexity
end
name() click to toggle source
# File lib/base/saikuro_analyzer.rb, line 10
def name
  :saikuro
end
reduce(scores) click to toggle source
# File lib/base/saikuro_analyzer.rb, line 18
def reduce(scores)
  ScoringStrategies.average(scores)
end
score(metric_ranking, item) click to toggle source
# File lib/base/saikuro_analyzer.rb, line 22
def score(metric_ranking, item)
  ScoringStrategies.identity(metric_ranking, item)
end