Parent

Files

Class/Module Index [+]

Quicksearch

RuboCop::Cop::Style::EmptyLines

This cops checks for two or more consecutive blank lines.

Constants

LINE_OFFSET
MSG

Public Instance Methods

autocorrect(range) click to toggle source
# File lib/rubocop/cop/style/empty_lines.rb, line 40
def autocorrect(range)
  @corrections << ->(corrector) { corrector.remove(range) }
end
investigate(processed_source) click to toggle source
# File lib/rubocop/cop/style/empty_lines.rb, line 10
def investigate(processed_source)
  return if processed_source.tokens.empty?

  prev_line = 1

  processed_source.tokens.sort_by { |t| t.pos.line }.each do |token|
    cur_line = token.pos.line

    line_diff = cur_line - prev_line

    if line_diff > LINE_OFFSET
      # we need to be wary of comments since they
      # don't show up in the tokens
      ((prev_line + 1)...cur_line).each do |line|
        # we check if the prev and current lines are empty
        next unless processed_source[line - 2].empty? &&
          processed_source[line - 1].empty?

        range = source_range(processed_source.buffer,
                             processed_source[0...(line - 1)],
                             0,
                             1)
        add_offense(range, range)
      end
    end

    prev_line = cur_line
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.