class RuboCop::Cop::Style::ArrayJoin

Checks for uses of “*” as a substitute for join.

Not all cases can reliably checked, due to Ruby’s dynamic types, so we consider only cases when the first argument is an array literal or the second is a string literal.

@example

# bad
%w(foo bar baz) * ","

# good
%w(foo bar baz).join(",")

Constants

MSG
RESTRICT_ON_SEND

Public Instance Methods

on_send(node) click to toggle source
# File lib/rubocop/cop/style/array_join.rb, line 29
def on_send(node)
  return unless (array, join_arg = join_candidate?(node))

  add_offense(node.loc.selector) do |corrector|
    corrector.replace(node, "#{array.source}.join(#{join_arg.source})")
  end
end