Class: Rubocop::Cop::Style::LineLength

Inherits:
Cop
  • Object
show all
Defined in:
lib/rubocop/cop/style/line_length.rb

Overview

This cop checks the length of lines in the source code. The maximum length is configurable.

Constant Summary collapse

MSG =
'Line is too long. [%d/%d]'

Constants inherited from Cop

Cop::OPERATOR_METHODS

Instance Attribute Summary

Attributes inherited from Cop

#autocorrect, #corrections, #debug, #disabled_lines, #offences

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Cop

#add_offence, all, #autocorrect_action, cop_name, cop_type, #do_autocorrect, full_description, #ignore_node, inherited, #initialize, lint?, #name, rails?, short_description, style?

Constructor Details

This class inherits a constructor from Rubocop::Cop::Cop

Class Method Details

.maxObject



25
26
27
# File 'lib/rubocop/cop/style/line_length.rb', line 25

def self.max
  LineLength.config['Max']
end

Instance Method Details

#investigate(processed_source) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/rubocop/cop/style/line_length.rb', line 11

def investigate(processed_source)
  processed_source.lines.each_with_index do |line, index|
    max = LineLength.max
    if line.length > max
      message = sprintf(MSG, line.length, max)
      add_offence(:convention,
                  source_range(processed_source.buffer,
                               processed_source[0...index], max,
                               line.length - max),
                  message)
    end
  end
end