Class: RuboCop::Cop::Lint::TopLevelReturnWithArgument
- Defined in:
- lib/rubocop/cop/lint/top_level_return_with_argument.rb
Overview
This cop checks for top level return with arguments. If there is a top-level return statement with an argument, then the argument is always ignored. This is detected automatically since Ruby 2.7.
Constant Summary collapse
- MSG =
This cop works by validating the ancestors of the return node. A top-level return node's ancestors should not be of block, def, or defs type.
'Top level return with argument detected.'
Constants inherited from Base
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
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_return(return_node) ⇒ Object
21 22 23 |
# File 'lib/rubocop/cop/lint/top_level_return_with_argument.rb', line 21 def on_return(return_node) add_offense(return_node) if return_node.arguments? && ancestors_valid?(return_node) end |