Module: Rubocop::Cop::Util

Defined in:
lib/rubocop/cop/util.rb

Overview

This module contains a collection of useful utility methods.

Class Method Summary collapse

Class Method Details

.block_length(block_node) ⇒ Object



22
23
24
# File 'lib/rubocop/cop/util.rb', line 22

def block_length(block_node)
  block_node.loc.end.line - block_node.loc.begin.line
end

.const_name(node) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/rubocop/cop/util.rb', line 26

def const_name(node)
  return nil if node.nil? || node.type != :const

  const_names = []
  const_node = node

  loop do
    namespace_node, name = *const_node
    const_names << name
    break unless namespace_node
    break if namespace_node.type == :cbase
    const_node = namespace_node
  end

  const_names.reverse.join('::')
end

.strip_quotes(str) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/rubocop/cop/util.rb', line 9

def strip_quotes(str)
  if str[0] == '"' || str[0] == "'"
    str[0] = ''
    str[-1] = ''
  else
    # we're dealing with %q or %Q
    str[0, 3] = ''
    str[-1] = ''
  end

  str
end