Sha256: bf07e97ef31b1d6c7d60fd31ecf7fc46ec7209b7d86138c51ac55e1753365a91
Contents?: true
Size: 1019 Bytes
Versions: 13
Compression:
Stored size: 1019 Bytes
Contents
# frozen_string_literal: true module RuboCop module Cop module Style # This cop checks for usage of the %W() syntax when %w() would do. class UnneededCapitalW < Cop include PercentLiteral MSG = 'Do not use `%W` unless interpolation is needed. ' \ 'If not, use `%w`.'.freeze def on_array(node) process(node, '%W') end private def on_percent_literal(node) return if requires_interpolation?(node) add_offense(node, :expression) end def requires_interpolation?(node) node.child_nodes.any? do |string| string.dstr_type? || double_quotes_acceptable?(string.str_content) || string.source == '\s' end end def autocorrect(node) lambda do |corrector| src = node.loc.begin.source corrector.replace(node.loc.begin, src.tr('W', 'w')) end end end end end end
Version data entries
13 entries across 13 versions & 2 rubygems