module RuboCop::Cop::ParserDiagnostic
Common functionality for cops which processes Parser's diagnostics. This mixin requires its user class to define `#relevant_diagnostic?`.
def relevant_diagnostic?(diagnostic) diagnostic.reason == :my_interested_diagnostic_type end
If you want to use an alternative offense message rather than the one in Parser's diagnostic, define `#alternative_message`.
def alternative_message(diagnostic) 'My custom message' end
Public Instance Methods
investigate(processed_source)
click to toggle source
# File lib/rubocop/cop/mixin/parser_diagnostic.rb, line 18 def investigate(processed_source) processed_source.diagnostics.each do |d| next unless relevant_diagnostic?(d) message = if respond_to?(:alternative_message, true) alternative_message(d) else d.message.capitalize end add_offense(nil, location: d.location, message: message, severity: d.level) end end