class RuboCop::Cop::Style::RedundantCapitalW
%W(apple #{fruit} grape)
%w[shirt pants shoes]
%w/swim run bike/
# good
%W[door wall floor]
%W(cat dog pig)
# bad
@example
Checks for usage of the %W() syntax when %w() would do.
def on_array(node)
def on_array(node) process(node, '%W') end
def on_percent_literal(node)
def on_percent_literal(node) return if requires_interpolation?(node) add_offense(node) do |corrector| src = node.loc.begin.source corrector.replace(node.loc.begin, src.tr('W', 'w')) end end
def requires_interpolation?(node)
def requires_interpolation?(node) node.child_nodes.any? do |string| string.dstr_type? || double_quotes_required?(string.source) end end