Sha256: bc74b7c9846e214db7db488ef62ea9d9e6b0d298cabf637a3691274d7b49fb64

Contents?: true

Size: 1.09 KB

Versions: 3

Compression:

Stored size: 1.09 KB

Contents

# frozen_string_literal: true

require_relative 'base_error'

module Reek
  module Errors
    # Gets raised when Reek is unable to process the source due to a SyntaxError
    class SyntaxError < BaseError
      TEMPLATE = "Source '%<source>s' cannot be processed by Reek due to a syntax error in the source file."

      LONG_TEMPLATE = <<-MESSAGE
        !!!
        %<message>s

        This is a problem that is outside of Reek's scope and should be fixed by you, the
        user, in order for Reek being able to continue.

        Things you can try:
        - Check the syntax of the problematic file
        - If the file is not in fact a Ruby file, exclude it in your .reek.yml file

        Exception message:

        %<exception>s

        Original backtrace:

        %<original>s

        !!!
      MESSAGE

      def initialize(origin:)
        super(format(TEMPLATE, source: origin))
      end

      def long_message
        format(LONG_TEMPLATE,
               message: message,
               exception: cause.inspect,
               original: cause.backtrace.join("\n\t"))
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

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