Sha256: 7939af8b263d064c65e6711914e35bff43fab6e968f443fba772dd9603201c9f
Contents?: true
Size: 1.02 KB
Versions: 18
Compression:
Stored size: 1.02 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, d.location, message, d.level) end end end end end
Version data entries
18 entries across 18 versions & 2 rubygems