class MetricAdapter::ReekAdapter

Attributes

examiner[R]

Public Class Methods

new(examiner) click to toggle source
# File lib/adapters/reek_adapter.rb, line 5
def initialize(examiner)
  @examiner = examiner
end

Public Instance Methods

metrics() click to toggle source
# File lib/adapters/reek_adapter.rb, line 9
def metrics
  metrics = examiner.smells.map do |smell|
    line_numbers = Array(smell.lines).uniq
    line_numbers.map do |line|
      create_metric(smell, line)
    end
  end
  
  metrics.flatten
end

Private Instance Methods

create_metric(smell, line) click to toggle source
# File lib/adapters/reek_adapter.rb, line 22
def create_metric(smell, line)
  location  = Location.new(smell.source, line)
  message   = "#{smell.message.capitalize} (#{smell.subclass})"
  signature = smell.context

  Metric.new(location, signature, message)
end