lib/rubocop/cop/cop.rb in rubocop-0.51.0 vs lib/rubocop/cop/cop.rb in rubocop-0.52.0

- old
+ new

@@ -113,17 +113,27 @@ def message(_node = nil) self.class::MSG end - def add_offense(node, *args, **kwargs, &block) - if args.any? - add_offense_deprecated(node, *args, &block) - else - add_offense_common(node, **kwargs, &block) - end + # rubocop:disable Metrics/CyclomaticComplexity + def add_offense(node, location: :expression, message: nil, severity: nil) + loc = find_location(node, location) + + return if duplicate_location?(loc) + + severity = custom_severity || severity || default_severity + + message ||= message(node) + message = annotate(message) + + status = enabled_line?(loc.line) ? correct(node) : :disabled + + @offenses << Offense.new(severity, loc, message, name, status) + yield if block_given? && status != :disabled end + # rubocop:enable Metrics/CyclomaticComplexity def find_location(node, loc) # Location can be provided as a symbol, e.g.: `:keyword` loc.is_a?(Symbol) ? node.loc.public_send(loc) : loc end @@ -220,48 +230,8 @@ message = "Warning: Invalid severity '#{severity}'. " \ "Valid severities are #{Severity::NAMES.join(', ')}." warn(Rainbow(message).red) end end - - def add_offense_deprecated(node, loc = :expression, message = nil, - severity = nil, &block) - - caller = caller_locations(2..2).first - path = "#{caller.path}:#{caller.lineno}" - warn_message = <<-RUBY.strip_indent - #{path} - Warning: The usage of positional location, message, and severity - parameters to Cop#add_offense is deprecated. - Please use keyword arguments instead. - - The positional arguments version of Cop#add_offense will be removed in - RuboCop 0.52 - RUBY - - warn(Rainbow(warn_message).red) - - add_offense_common(node, location: loc, message: message, - severity: severity, &block) - end - - # rubocop:disable Metrics/CyclomaticComplexity - def add_offense_common(node, location: :expression, message: nil, - severity: nil) - loc = find_location(node, location) - - return if duplicate_location?(loc) - - severity = custom_severity || severity || default_severity - - message ||= message(node) - message = annotate(message) - - status = enabled_line?(loc.line) ? correct(node) : :disabled - - @offenses << Offense.new(severity, loc, message, name, status) - yield if block_given? && status != :disabled - end - # rubocop:enable Metrics/CyclomaticComplexity end end end