Sha256: a1f2af7404532eab982ab5f3bb17ae6ccaa70ed9eaae460e2db7ab5c4997c93c

Contents?: true

Size: 568 Bytes

Versions: 2

Compression:

Stored size: 568 Bytes

Contents

module Reek
  module Core

    #
    # A list of smell detectors of the same class, but with differing
    # configurations.
    #
    class DetectorStack

      def initialize(default_detector)
        @detectors = [default_detector]
      end

      def push(config)
        clone = @detectors[-1].supersede_with(config)
        @detectors << clone
      end

      def listen_to(hooks)
        @detectors.each { |det| det.listen_to(hooks) }
      end

      def report_on(report)
        @detectors.each { |det| det.report_on(report) }
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
reek-1.2.7.1 lib/reek/core/detector_stack.rb
reek-1.2.7 lib/reek/core/detector_stack.rb