123456789_123456789_123456789_123456789_123456789_

Module: RuboCop::Cop::AllowedPattern

Overview

This module encapsulates the ability to ignore certain lines when parsing.

Instance Method Summary

Instance Method Details

#allowed_line?(line) ⇒ Boolean (private) Also known as: #ignored_line?

[ GitHub ]

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

def allowed_line?(line)
  line = if line.respond_to?(:source_line)
           line.source_line
         elsif line.respond_to?(:node)
           line.node.source_range.source_line
         end

  matches_allowed_pattern?(line)
end

#allowed_patterns (private)

[ GitHub ]

  
# File 'lib/rubocop/cop/mixin/allowed_pattern.rb', line 30

def allowed_patterns
  # Since there could be a pattern specified in the default config, merge the two
  # arrays together.
  if cop_config_deprecated_methods_values.any?(Regexp)
    cop_config_patterns_values + cop_config_deprecated_methods_values
  else
    cop_config_patterns_values
  end
end

#cop_config_deprecated_methods_values (private)

[ GitHub ]

  
# File 'lib/rubocop/cop/mixin/allowed_pattern.rb', line 46

def cop_config_deprecated_methods_values
  @cop_config_deprecated_methods_values ||=
    Array(cop_config.fetch('IgnoredMethods', [])) +
    Array(cop_config.fetch('ExcludedMethods', []))
end

#cop_config_patterns_values (private)

[ GitHub ]

  
# File 'lib/rubocop/cop/mixin/allowed_pattern.rb', line 40

def cop_config_patterns_values
  @cop_config_patterns_values ||=
    Array(cop_config.fetch('AllowedPatterns', [])) +
    Array(cop_config.fetch('IgnoredPatterns', []))
end

#ignored_line?(line) (private)

Alias for #allowed_line?.

[ GitHub ]

  
# File 'lib/rubocop/cop/mixin/allowed_pattern.rb', line 21

alias ignored_line? allowed_line?

#matches_allowed_pattern?(line) ⇒ Boolean (private) Also known as: #matches_ignored_pattern?

[ GitHub ]

  
# File 'lib/rubocop/cop/mixin/allowed_pattern.rb', line 23

def matches_allowed_pattern?(line)
  allowed_patterns.any? { |pattern| Regexp.new(pattern).match?(line) }
end

#matches_ignored_pattern?(line) (private)

[ GitHub ]

  
# File 'lib/rubocop/cop/mixin/allowed_pattern.rb', line 28

alias matches_ignored_pattern? matches_allowed_pattern?