lib/rubocop/cop/lint/redundant_splat_expansion.rb in rubocop-0.88.0 vs lib/rubocop/cop/lint/redundant_splat_expansion.rb in rubocop-0.89.0
- old
+ new
@@ -47,11 +47,13 @@
# when 1, 2, 3
# bar
# else
# baz
# end
- class RedundantSplatExpansion < Cop
+ class RedundantSplatExpansion < Base
+ extend AutoCorrector
+
MSG = 'Replace splat expansion with comma separated values.'
ARRAY_PARAM_MSG = 'Pass array contents as separate arguments.'
PERCENT_W = '%w'
PERCENT_CAPITAL_W = '%W'
PERCENT_I = '%i'
@@ -71,25 +73,27 @@
def on_splat(node)
redundant_splat_expansion(node) do
if array_splat?(node) &&
(method_argument?(node) || part_of_an_array?(node))
- add_offense(node, message: ARRAY_PARAM_MSG)
+ add_offense(node, message: ARRAY_PARAM_MSG) do |corrector|
+ autocorrect(corrector, node)
+ end
else
- add_offense(node)
+ add_offense(node) do |corrector|
+ autocorrect(corrector, node)
+ end
end
end
end
- def autocorrect(node)
+ private
+
+ def autocorrect(corrector, node)
range, content = replacement_range_and_content(node)
- lambda do |corrector|
- corrector.replace(range, content)
- end
+ corrector.replace(range, content)
end
-
- private
def redundant_splat_expansion(node)
literal_expansion(node) do |expanded_item|
if expanded_item.send_type?
return if array_new_inside_array_literal?(expanded_item)