Sha256: 8a6779ec7090537ec2b92f1a42105f1898bfda938d3e4d43d9ea7526d185ebc7

Contents?: true

Size: 1.3 KB

Versions: 12

Compression:

Stored size: 1.3 KB

Contents

module MetricFu

  class Hotspots < Generator

    def initialize(options={})
      super
    end

    def self.verify_dependencies!
      true
    end

    def emit
      @analyzer = MetricAnalyzer.new(MetricFu.report.report_hash)
    end

    def analyze
      num = nil
      worst_items = {}
      if @analyzer
        worst_items[:files] =
          @analyzer.worst_files(num).inject([]) do |array, worst_file|
          array <<
            {:location => @analyzer.location(:file, worst_file),
            :details => @analyzer.problems_with(:file, worst_file)}
          array
        end
        worst_items[:classes] = @analyzer.worst_classes(num).inject([]) do |array, class_name|
          location = @analyzer.location(:class, class_name)
          array <<
            {:location => location,
            :details => @analyzer.problems_with(:class, class_name)}
          array
        end
        worst_items[:methods] = @analyzer.worst_methods(num).inject([]) do |array, method_name|
          location = @analyzer.location(:method, method_name)
          array <<
            {:location => location,
            :details => @analyzer.problems_with(:method, method_name)}
          array
        end
      end

      @hotspots = worst_items
    end

    def to_h
      {:hotspots => @hotspots}
    end
  end

end

Version data entries

12 entries across 12 versions & 4 rubygems

Version Path
metric_fu-2.1.3.4 lib/metrics/hotspots/hotspots.rb
bf4-metric_fu-2.1.3.4 lib/generators/hotspots.rb
bf4-metric_fu-2.1.3.3 lib/generators/hotspots.rb
bf4-metric_fu-2.1.3.2 lib/generators/hotspots.rb
bf4-metric_fu-2.1.3.1 lib/generators/hotspots.rb
danmayer-metric_fu-2.1.3 lib/generators/hotspots.rb
danmayer-metric_fu-2.1.2 lib/generators/hotspots.rb
rferraz-metric_fu-2.1.2 lib/generators/hotspots.rb
rferraz-metric_fu-2.1.1 lib/generators/hotspots.rb
metric_fu-2.1.1 lib/generators/hotspots.rb
metric_fu-2.1.0 lib/generators/hotspots.rb
metric_fu-2.0.1 lib/generators/hotspots.rb