Sha256: b477a90710e9a4ff4b942de2b918d9ab9599f3c38658c2e699f1328dcbfa8ac5
Contents?: true
Size: 889 Bytes
Versions: 42
Compression:
Stored size: 889 Bytes
Contents
# frozen_string_literal: true module RuboCop module Cop module Metrics # This cop checks if the length a class exceeds some maximum value. # Comment lines can optionally be ignored. # The maximum allowed length is configurable. class ClassLength < Cop include ClassishLength def on_class(node) check_code_length(node) end def on_casgn(node) class_definition?(node) do check_code_length(node) end end private def_node_matcher :class_definition?, <<~PATTERN (casgn nil? _ (block (send (const nil? :Class) :new) ...)) PATTERN def message(length, max_length) format('Class has too many lines. [%<length>d/%<max>d]', length: length, max: max_length) end end end end end
Version data entries
42 entries across 31 versions & 5 rubygems