Sha256: b9bc474f6c1642dfca3607b9f8280e4eb7a65c237e7360633d693254d0c10531

Contents?: true

Size: 1.52 KB

Versions: 3

Compression:

Stored size: 1.52 KB

Contents

# frozen_string_literal: true

require_relative 'base_error'
require_relative '../documentation_link'

module Reek
  module Errors
    # Gets raised when trying to configure a detector with an option
    # which is unknown to it.
    class BadDetectorConfigurationKeyInCommentError < BaseError
      UNKNOWN_SMELL_DETECTOR_MESSAGE = <<-MESSAGE.freeze

        Error: You are trying to configure the smell detector '%<detector>s'
        in one of your source code comments with the unknown option %<option>s.
        The source is '%<source>s' and the comment belongs to the expression starting in line %<line>d.
        Here's the original comment:

        %<comment>s

        Please see the Reek docs for:
          * how to configure Reek via source code comments: #{DocumentationLink.build('Smell Suppression')}
          * what basic options are available: #{DocumentationLink.build('Basic Smell Options')}
          * what custom options are available by checking the detector specific documentation in /docs
        Update the offensive comment (or remove it if no longer applicable) and re-run Reek.

      MESSAGE

      def initialize(detector_name:, offensive_keys:, source:, line:, original_comment:)
        message = format(UNKNOWN_SMELL_DETECTOR_MESSAGE,
                         detector: detector_name,
                         option: offensive_keys,
                         source: source,
                         line: line,
                         comment: original_comment)
        super(message)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
reek-6.4.0 lib/reek/errors/bad_detector_configuration_key_in_comment_error.rb
reek-6.3.0 lib/reek/errors/bad_detector_configuration_key_in_comment_error.rb
reek-6.2.0 lib/reek/errors/bad_detector_configuration_key_in_comment_error.rb