Class: RuboCop::Cop::Lint::AmbiguousBlockAssociation
- Extended by:
- AutoCorrector
- Includes:
- AllowedMethods, AllowedPattern
- Defined in:
- lib/rubocop/cop/lint/ambiguous_block_association.rb
Overview
Checks for ambiguous block association with method when param passed without parentheses.
This cop can customize allowed methods with AllowedMethods. By default, there are no methods to allowed.
Constant Summary collapse
- MSG =
'Parenthesize the param `%<param>s` to make sure that the ' \ 'block will be associated with the `%<method>s` method ' \ 'call.'
Constants inherited from Base
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
- #on_send(node) ⇒ Object (also: #on_csend)
Methods included from AutoCorrector
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?, #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_send(node) ⇒ Object Also known as: on_csend
62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/rubocop/cop/lint/ambiguous_block_association.rb', line 62 def on_send(node) return unless node.arguments? return unless ambiguous_block_association?(node) return if node.parenthesized? || node.last_argument.lambda_or_proc? || allowed_method_pattern?(node) = (node) add_offense(node, message: ) do |corrector| wrap_in_parentheses(corrector, node) end end |