Module: RuboCop::Cop::ParserDiagnostic
- Included in:
- Lint::AmbiguousOperator, Lint::AmbiguousRegexpLiteral, Lint::InvalidCharacterLiteral, Lint::UselessElseWithoutRescue
- Defined in:
- lib/rubocop/cop/mixin/parser_diagnostic.rb
Overview
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 (diagnostic)
'My custom message'
end
Instance Method Summary collapse
Instance Method Details
#investigate(processed_source) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/rubocop/cop/mixin/parser_diagnostic.rb', line 20 def investigate(processed_source) processed_source.diagnostics.each do |d| next unless relevant_diagnostic?(d) = if respond_to?(:alternative_message, true) (d) else d..capitalize end add_offense(nil, d.location, , d.level) end end |