class RuboCop::Cop::Lint::Syntax

Repacks Parser’s diagnostics/errors into RuboCop’s offenses.

Public Instance Methods

on_other_file() click to toggle source
Calls superclass method RuboCop::Cop::Base#on_other_file
# File lib/rubocop/cop/lint/syntax.rb, line 9
def on_other_file
  add_offense_from_error(processed_source.parser_error) if processed_source.parser_error
  processed_source.diagnostics.each do |diagnostic|
    add_offense_from_diagnostic(diagnostic, processed_source.ruby_version)
  end
  super
end

Private Instance Methods

add_offense_from_diagnostic(diagnostic, ruby_version) click to toggle source
# File lib/rubocop/cop/lint/syntax.rb, line 19
def add_offense_from_diagnostic(diagnostic, ruby_version)
  message =
    "#{diagnostic.message}\n(Using Ruby #{ruby_version} parser; " \
    'configure using `TargetRubyVersion` parameter, under `AllCops`)'
  add_offense(diagnostic.location, message: message, severity: diagnostic.level)
end
add_offense_from_error(error) click to toggle source
# File lib/rubocop/cop/lint/syntax.rb, line 26
def add_offense_from_error(error)
  message = beautify_message(error.message)
  add_global_offense(message, severity: :fatal)
end
beautify_message(message) click to toggle source
# File lib/rubocop/cop/lint/syntax.rb, line 31
def beautify_message(message)
  message = message.capitalize
  message << '.' unless message.end_with?('.')
  message
end