Sha256: 4947fbbc83b2ed3f2d25a280b03ced7ac03c76d9f35302e6c98b4cd6a029a981

Contents?: true

Size: 1.14 KB

Versions: 19

Compression:

Stored size: 1.14 KB

Contents

class MetricFu::SaikuroHotspot < MetricFu::Hotspot

  COLUMNS = %w{lines complexity}

  def columns
    COLUMNS
  end

  def name
    :saikuro
  end

  def map_strategy
    :complexity
  end

  def reduce_strategy
    :average
  end

  def score_strategy
    :identity
  end

  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

  def present_group(group)
    occurences = group.size
    complexity = get_mean(group.column("complexity"))
    "#{"average " if occurences > 1}complexity is %.1f" % complexity
  end

end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
metric_fu-4.11.3 lib/metric_fu/metrics/saikuro/hotspot.rb
metric_fu-4.11.2 lib/metric_fu/metrics/saikuro/hotspot.rb
metric_fu-4.11.1 lib/metric_fu/metrics/saikuro/hotspot.rb
metric_fu-4.11.0 lib/metric_fu/metrics/saikuro/hotspot.rb
metric_fu-4.10.0 lib/metric_fu/metrics/saikuro/saikuro_hotspot.rb
metric_fu-4.9.0 lib/metric_fu/metrics/saikuro/saikuro_hotspot.rb
metric_fu-4.8.0 lib/metric_fu/metrics/saikuro/saikuro_hotspot.rb
metric_fu-4.7.4 lib/metric_fu/metrics/saikuro/saikuro_hotspot.rb
metric_fu-4.7.3 lib/metric_fu/metrics/saikuro/saikuro_hotspot.rb
metric_fu-4.7.2 lib/metric_fu/metrics/saikuro/saikuro_hotspot.rb
metric_fu-4.7.1 lib/metric_fu/metrics/saikuro/saikuro_hotspot.rb
metric_fu-4.7.0 lib/metric_fu/metrics/saikuro/saikuro_hotspot.rb
metric_fu-4.6.0 lib/metric_fu/metrics/saikuro/saikuro_hotspot.rb
metric_fu-4.5.2 lib/metric_fu/metrics/saikuro/saikuro_hotspot.rb
metric_fu-4.5.1 lib/metric_fu/metrics/saikuro/saikuro_hotspot.rb
metric_fu-4.4.4 lib/metric_fu/metrics/saikuro/saikuro_hotspot.rb
metric_fu-4.4.3 lib/metric_fu/metrics/saikuro/saikuro_hotspot.rb
metric_fu-4.4.2 lib/metric_fu/metrics/saikuro/saikuro_hotspot.rb
metric_fu-4.4.1 lib/metric_fu/metrics/saikuro/saikuro_hotspot.rb