Class: RuboCop::Cop::Style::ItAssignment
- Defined in:
- lib/rubocop/cop/style/it_assignment.rb
Overview
Checks for assignments to a local it variable inside a block
where it can refer to the first anonymous parameter as of Ruby 3.4.
Although Ruby allows reassigning it in these cases, it could
cause confusion if it is used as a block parameter elsewhere.
For consistency, this also applies to numblocks and blocks with
parameters, even though it cannot be used in those cases.
Constant Summary collapse
- MSG =
'`it` is the default block parameter; consider another name.'
Constants inherited from Base
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
Methods inherited from Base
#active_support_extensions_enabled?, #add_global_offense, #add_offense, #always_autocorrect?, autocorrect_incompatible_with, badge, #begin_investigation, #callbacks_needed, callbacks_needed, #config_to_allow_offenses, #config_to_allow_offenses=, #contextual_autocorrect?, #cop_config, #cop_name, cop_name, department, documentation_url, exclude_from_registry, #excluded_file?, #external_dependency_checksum, inherited, #initialize, #inspect, joining_forces, lint?, match?, #message, #offenses, #on_investigation_end, #on_new_investigation, #on_other_file, #parse, #parser_engine, #ready, #relevant_file?, requires_gem, #string_literals_frozen_by_default?, support_autocorrect?, support_multiple_source?, #target_gem_version, #target_rails_version, #target_ruby_version
Methods included from ExcludeLimit
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_lvasgn(node) ⇒ Object
27 28 29 30 31 32 |
# File 'lib/rubocop/cop/style/it_assignment.rb', line 27 def on_lvasgn(node) return unless node.name == :it return unless node.each_ancestor(:any_block).any? add_offense(node.loc.name) end |