Class: ImproveYourCode::SmellDetectors::TooManyStatements
- Inherits:
-
BaseDetector
- Object
- BaseDetector
- ImproveYourCode::SmellDetectors::TooManyStatements
- Defined in:
- lib/improve_your_code/smell_detectors/too_many_statements.rb
Constant Summary collapse
- MAX_ALLOWED_STATEMENTS_KEY =
'max_statements'
- DEFAULT_MAX_STATEMENTS =
5
Constants inherited from BaseDetector
Instance Attribute Summary
Attributes inherited from BaseDetector
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from BaseDetector
configuration_keys, contexts, descendants, inherited, #initialize, #run, #smell_type, smell_type, to_detector, todo_configuration_for, valid_detector?
Constructor Details
This class inherits a constructor from ImproveYourCode::SmellDetectors::BaseDetector
Class Method Details
.default_config ⇒ Object
11 12 13 14 15 16 |
# File 'lib/improve_your_code/smell_detectors/too_many_statements.rb', line 11 def self.default_config super.merge( MAX_ALLOWED_STATEMENTS_KEY => DEFAULT_MAX_STATEMENTS, EXCLUDE_KEY => ['initialize'] ) end |
Instance Method Details
#sniff ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/improve_your_code/smell_detectors/too_many_statements.rb', line 18 def sniff count = context.number_of_statements return [] if count <= max_allowed_statements = "Your method has #{count} statements. "\ 'We propose to use ExtractMethod Pattern' [ smell_warning( context: context, lines: [source_line], message: , parameters: { count: count } ) ] end |