class RuboCop::Cop::Style::ArrayJoin
%w(foo bar baz).join(“,”)
# good
%w(foo bar baz) * “,”
# bad
@example
array literal or the second is a string literal.
types, so we consider only cases when the first argument is an
Not all cases can reliably checked, due to Ruby’s dynamic
This cop checks for uses of “*” as a substitute for join.
def autocorrect(node)
def autocorrect(node) array, join_arg = join_candidate?(node).map(&:source) lambda do |corrector| corrector.replace(node.source_range, "#{array}.join(#{join_arg})") end end
def on_send(node)
def on_send(node) join_candidate?(node) { add_offense(node, location: :selector) } end