Sha256: d708d4b9e599273d335e291bd43562510621acdf4bbef743c1454f17fb28709c

Contents?: true

Size: 1.02 KB

Versions: 8

Compression:

Stored size: 1.02 KB

Contents

class RoodiHotspot < MetricFu::Hotspot
  include MetricFu::HotspotScoringStrategies

  COLUMNS = %w{problems}

  def columns
    COLUMNS
  end

  def name
    :roodi
  end

  def map(row)
    MetricFu::HotspotScoringStrategies.present(row)
  end

  def reduce(scores)
    MetricFu::HotspotScoringStrategies.sum(scores)
  end

  def score(metric_ranking, item)
    MetricFu::HotspotScoringStrategies.percentile(metric_ranking, item)
  end

  def generate_records(data, table)
    return if data==nil
    Array(data[:problems]).each do |problem|
      table << {
        "metric" => name,
        "problems" => problem[:problem],
        "file_path" => problem[:file]
      }
    end
  end

  def present_group(group)
    occurences = group.size
    "found #{occurences} design problems"
  end

  def present_group_details(group)
    occurences = group.size
    message = "found #{occurences} design problems<br/>"
    group.each do |item|
      problem    = item.data["problems"]
      message << "* #{problem}<br/>"
    end
    message
  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
metric_fu-4.4.0 lib/metric_fu/metrics/roodi/roodi_hotspot.rb
metric_fu-4.3.1 lib/metric_fu/metrics/roodi/roodi_hotspot.rb
metric_fu-4.3.0 lib/metric_fu/metrics/roodi/roodi_hotspot.rb
metric_fu-4.2.1 lib/metric_fu/metrics/roodi/roodi_hotspot.rb
metric_fu-4.2.0 lib/metric_fu/metrics/roodi/roodi_hotspot.rb
metric_fu-4.1.3 lib/metric_fu/metrics/roodi/roodi_hotspot.rb
metric_fu-4.1.2 lib/metric_fu/metrics/roodi/roodi_hotspot.rb
metric_fu-4.1.1 lib/metric_fu/metrics/roodi/roodi_hotspot.rb