Sha256: 4c34875cdec20de95a918ebd34b7074885bea0931c5970f8079f2901cf74c9af
Contents?: true
Size: 981 Bytes
Versions: 9
Compression:
Stored size: 981 Bytes
Contents
# encoding: utf-8 module RuboCop module Cop # Common functionality for checking length of classes and modules. module ClassishLength include CodeLength private def code_length(node) body_line_numbers = line_range(node).to_a[1...-1] target_line_numbers = body_line_numbers - line_numbers_of_inner_thing(node, :module) - line_numbers_of_inner_thing(node, :class) target_line_numbers.reduce(0) do |length, line_number| source_line = processed_source[line_number] next length if irrelevant_line(source_line) length + 1 end end def line_numbers_of_inner_thing(node, type) line_numbers = Set.new node.each_descendant(:module, type) do |inner_node| line_range = line_range(inner_node) line_numbers.merge(line_range) end line_numbers.to_a end end end end
Version data entries
9 entries across 9 versions & 1 rubygems