Sha256: c08f5ac6b20b311247f03462ee9fbf9aa0854c2f0052f6e2d5310927f6cb09c5
Contents?: true
Size: 1.11 KB
Versions: 6839
Compression:
Stored size: 1.11 KB
Contents
# frozen_string_literal: true module RuboCop module Cop # 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 module ParserDiagnostic 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 end end end
Version data entries
6,839 entries across 6,814 versions & 27 rubygems