Class: RuboCop::Cop::Metrics::ClassLength
- Includes:
- CodeLength
- Defined in:
- lib/rubocop/cop/metrics/class_length.rb
Overview
Checks if the length of a class exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.
You can set constructs you want to fold with CountAsOne.
Available are: 'array', 'hash', 'heredoc', and 'method_call'. Each construct
will be counted as one line regardless of its actual size.
NOTE: This cop also applies for Struct definitions.
Constant Summary
Constants included from CodeLength
Constants inherited from Base
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
Methods included from ExcludeLimit
Methods inherited from Base
#active_support_extensions_enabled?, #add_global_offense, #add_offense, autocorrect_incompatible_with, badge, callbacks_needed, #callbacks_needed, #config_to_allow_offenses, #config_to_allow_offenses=, #cop_config, cop_name, #cop_name, department, documentation_url, exclude_from_registry, #excluded_file?, #external_dependency_checksum, inherited, #initialize, joining_forces, lint?, match?, #offenses, #on_investigation_end, #on_new_investigation, #on_other_file, #parse, #ready, #relevant_file?, support_autocorrect?, support_multiple_source?, #target_rails_version, #target_ruby_version
Methods included from AutocorrectLogic
#autocorrect?, #autocorrect_enabled?, #autocorrect_requested?, #autocorrect_with_disable_uncorrectable?, #correctable?, #disable_uncorrectable?, #safe_autocorrect?
Methods included from IgnoredNode
#ignore_node, #ignored_node?, #part_of_ignored_node?
Methods included from Util
Constructor Details
This class inherits a constructor from RuboCop::Cop::Base
Instance Method Details
#on_casgn(node) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/rubocop/cop/metrics/class_length.rb', line 46 def on_casgn(node) parent = node.parent if parent&.assignment? block_node = parent.children[1] elsif parent&.parent&.masgn_type? block_node = parent.parent.children[1] else _scope, _name, block_node = *node end return unless block_node.respond_to?(:class_definition?) && block_node.class_definition? check_code_length(block_node) end |
#on_class(node) ⇒ Object
42 43 44 |
# File 'lib/rubocop/cop/metrics/class_length.rb', line 42 def on_class(node) check_code_length(node) end |