Module: RuboCop::Cop::CodeLength

Includes:
ConfigurableMax
Included in:
Metrics::ClassLength, Metrics::MethodLength
Defined in:
lib/rubocop/cop/mixin/code_length.rb

Overview

Common functionality for checking length of code segments.

Instance Method Summary collapse

Methods included from ConfigurableMax

#max=, #parameter_name

Instance Method Details

#check_code_length(node, *_) ⇒ Object


17
18
19
20
21
22
23
24
# File 'lib/rubocop/cop/mixin/code_length.rb', line 17

def check_code_length(node, *_)
  length = code_length(node)
  return unless length > max_length

  add_offense(node, :keyword, message(length, max_length)) do
    self.max = length
  end
end

#count_comments?Boolean

Returns:

  • (Boolean)

13
14
15
# File 'lib/rubocop/cop/mixin/code_length.rb', line 13

def count_comments?
  cop_config['CountComments']
end

#irrelevant_line(source_line) ⇒ Object

Returns true for lines that shall not be included in the count.


27
28
29
# File 'lib/rubocop/cop/mixin/code_length.rb', line 27

def irrelevant_line(source_line)
  source_line.blank? || !count_comments? && comment_line?(source_line)
end

#max_lengthObject


9
10
11
# File 'lib/rubocop/cop/mixin/code_length.rb', line 9

def max_length
  cop_config['Max']
end