123456789_123456789_123456789_123456789_123456789_

Module: RuboCop::Cop::StringHelp

Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Included In:
Defined in: lib/rubocop/cop/mixin/string_help.rb

Overview

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.

Instance Method Summary

Instance Method Details

#inside_interpolation?(node) ⇒ Boolean (private)

[ GitHub ]

  
# File 'lib/rubocop/cop/mixin/string_help.rb', line 32

def inside_interpolation?(node)
  # A :begin node inside a :dstr, :dsym, or :regexp node is an interpolation.
  node.ancestors
      .drop_while { |a| !a.begin_type? }
      .any? { |a| a.dstr_type? || a.dsym_type? || a.regexp_type? }
end

#on_regexp(node)

[ GitHub ]

  
# File 'lib/rubocop/cop/mixin/string_help.rb', line 26

def on_regexp(node)
  ignore_node(node)
end

#on_str(node)

[ GitHub ]

  
# File 'lib/rubocop/cop/mixin/string_help.rb', line 10

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