Sha256: ea3b623b26cb298197901ed02375bd61caf6ae00053e58185358fc30dd3351a3
Contents?: true
Size: 1.08 KB
Versions: 59
Compression:
Stored size: 1.08 KB
Contents
# frozen_string_literal: true module RuboCop module Cop # Classes that include this module just implement functions to determine # what is an offense and how to do autocorrection. They get help with # adding offenses for the faulty string nodes, and with filtering out # nodes. module StringHelp def on_str(node) # Constants like __FILE__ are handled as strings, # but don't respond to begin. return unless node.loc.respond_to?(:begin) && node.loc.begin return if part_of_ignored_node?(node) if offense?(node) add_offense(node) do |corrector| opposite_style_detected autocorrect(corrector, node) if respond_to?(:autocorrect, true) end else correct_style_detected end end def on_regexp(node) ignore_node(node) end private def inside_interpolation?(node) # A :begin node inside a :dstr node is an interpolation. node.ancestors.drop_while { |a| !a.begin_type? }.any?(&:dstr_type?) end end end end
Version data entries
59 entries across 52 versions & 8 rubygems