class MetricFu::SaikuroHotspot

Constants

COLUMNS

Public Instance Methods

columns() click to toggle source
# File lib/metric_fu/metrics/saikuro/hotspot.rb, line 4
def columns
  COLUMNS
end
generate_records(data, table) click to toggle source
# File lib/metric_fu/metrics/saikuro/hotspot.rb, line 24
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_strategy() click to toggle source
# File lib/metric_fu/metrics/saikuro/hotspot.rb, line 12
def map_strategy
  :complexity
end
name() click to toggle source
# File lib/metric_fu/metrics/saikuro/hotspot.rb, line 8
def name
  :saikuro
end
present_group(group) click to toggle source
# File lib/metric_fu/metrics/saikuro/hotspot.rb, line 46
def present_group(group)
  occurences = group.size
  complexity = get_mean(group.column("complexity"))
  "#{'average ' if occurences > 1}complexity is %.1f" % complexity
end
reduce_strategy() click to toggle source
# File lib/metric_fu/metrics/saikuro/hotspot.rb, line 16
def reduce_strategy
  :average
end
score_strategy() click to toggle source
# File lib/metric_fu/metrics/saikuro/hotspot.rb, line 20
def score_strategy
  :identity
end