lib/rubocop/comment_config.rb in rubocop-0.91.0 vs lib/rubocop/comment_config.rb in rubocop-0.91.1
- old
+ new
@@ -39,16 +39,19 @@
def cop_disabled_line_ranges
@cop_disabled_line_ranges ||= analyze
end
def extra_enabled_comments
- extra_enabled_comments_with_names([], {})
+ extra_enabled_comments_with_names(
+ extras: Hash.new { |h, k| h[k] = [] },
+ names: Hash.new(0)
+ )
end
private
- def extra_enabled_comments_with_names(extras, names)
+ def extra_enabled_comments_with_names(extras:, names:)
each_directive do |comment, cop_names, disabled|
next unless comment_only_line?(comment.loc.expression.line)
if !disabled && enable_all?(comment)
handle_enable_all(names, extras, comment)
@@ -188,21 +191,22 @@
names[name] -= 1
enabled_cops += 1
end
- extras << [comment, 'all'] if enabled_cops.zero?
+ extras[comment] << 'all' if enabled_cops.zero?
end
+ # Collect cops that have been disabled or enabled by name in a directive comment
+ # so that `Lint/RedundantCopEnableDirective` can register offenses correctly.
def handle_switch(cop_names, names, disabled, extras, comment)
cop_names.each do |name|
- names[name] ||= 0
if disabled
names[name] += 1
elsif (names[name]).positive?
names[name] -= 1
else
- extras << [comment, name]
+ extras[comment] << name
end
end
end
end
end