Class: RuboCop::Cop::Lint::MultipleComparison
- Extended by:
- AutoCorrector
- Defined in:
- lib/rubocop/cop/lint/multiple_comparison.rb
Overview
In math and Python, we can use `x < y < z` style comparison to compare multiple value. However, we can't use the comparison in Ruby. However, the comparison is not syntax error. This cop checks the bad usage of comparison operators.
Constant Summary collapse
- MSG =
'Use the `&&` operator to compare multiple values.'
- COMPARISON_METHODS =
%i[< > <= >=].freeze
- RESTRICT_ON_SEND =
COMPARISON_METHODS
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
Methods included from AutoCorrector
Methods inherited from Base
#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?, #message, #offenses, #on_investigation_end, #on_new_investigation, #on_other_file, #ready, #relevant_file?, support_autocorrect?, support_multiple_source?, #target_rails_version, #target_ruby_version
Methods included from AutocorrectLogic
#autocorrect?, #autocorrect_enabled?, #autocorrect_requested?, #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_send(node) ⇒ Object
35 36 37 38 39 40 41 42 43 |
# File 'lib/rubocop/cop/lint/multiple_comparison.rb', line 35 def on_send(node) return unless (center = multiple_compare?(node)) add_offense(node) do |corrector| new_center = "#{center.source} && #{center.source}" corrector.replace(center, new_center) end end |