Sha256: 9ff4cedb359c62453eb8e9c1674581d0966eb550e178e52a1ea8a0f36119e861

Contents?: true

Size: 938 Bytes

Versions: 12

Compression:

Stored size: 938 Bytes

Contents

class FlogHotspot
  include MetricFu::HotspotScoringStrategies

  COLUMNS = %w{score}

  def columns
    COLUMNS
  end

  def name
    :flog
  end

  def map(row)
    row.score
  end

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

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

  def generate_records(data, table)
    return if data==nil
    Array(data[:method_containers]).each do |method_container|
      Array(method_container[:methods]).each do |entry|
        file_path = entry[1][:path].sub(%r{^/},'') if entry[1][:path]
        location = MetricFu::Location.for(entry.first)
        table << {
          "metric" => name,
          "score" => entry[1][:score],
          "file_path" => file_path,
          "class_name" => location.class_name,
          "method_name" => location.method_name
        }
      end
    end
  end

end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
metric_fu-4.1.0 lib/metric_fu/metrics/flog/flog_hotspot.rb
metric_fu-4.0.0 lib/metric_fu/metrics/flog/flog_hotspot.rb
metric_fu-3.0.1 lib/metric_fu/metrics/flog/flog_hotspot.rb
metric_fu-3.0.0 lib/metric_fu/metrics/flog/flog_hotspot.rb
metric_fu-2.1.4.pre5 lib/metric_fu/metrics/flog/flog_hotspot.rb
metric_fu-2.1.4.pre4 lib/metric_fu/metrics/flog/flog_hotspot.rb
metric_fu-2.1.4.pre2 lib/metric_fu/metrics/flog/flog_hotspot.rb
metric_fu-2.1.4.pre lib/metric_fu/metrics/flog/flog_hotspot.rb
metric_fu-2.1.3.7.18.1 lib/metrics/flog/flog_hotspot.rb
metric_fu-2.1.3.7.19 lib/metrics/flog/flog_hotspot.rb
metric_fu-2.1.3.6 lib/metrics/flog/flog_hotspot.rb
metric_fu-2.1.3.5 lib/metrics/flog/flog_hotspot.rb