Class: RuboCop::Cop::Style::CollectionMethods
- Extended by:
- AutoCorrector
- Includes:
- MethodPreference
- Defined in:
- lib/rubocop/cop/style/collection_methods.rb
Overview
This cop enforces the use of consistent method names from the Enumerable module.
Unfortunately we cannot actually know if a method is from Enumerable or not (static analysis limitation), so this cop can yield some false positives.
You can customize the mapping from undesired method to desired method.
e.g. to use ‘detect` over `find`:
Style/CollectionMethods:
PreferredMethods:
find: detect
The default mapping for ‘PreferredMethods` behaves as follows.
Constant Summary collapse
- MSG =
'Prefer `%<prefer>s` over `%<current>s`.'
Constants inherited from Base
Constants included from Util
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?, #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
add_parentheses, args_begin, args_end, begins_its_line?, comment_line?, comment_lines?, double_quotes_required?, escape_string, first_part_of_call_chain, indent, interpret_string_escapes, line_range, needs_escaping?, on_node, parentheses?, same_line?, to_string_literal, to_supported_styles, trim_string_interporation_escape_character
Methods included from PathUtil
absolute?, hidden_dir?, hidden_file?, hidden_file_in_not_hidden_dir?, match_path?, maybe_hidden_file?, relative_path, smart_path
Constructor Details
This class inherits a constructor from RuboCop::Cop::Base
Instance Method Details
#on_block(node) ⇒ Object
46 47 48 |
# File 'lib/rubocop/cop/style/collection_methods.rb', line 46 def on_block(node) check_method_node(node.send_node) end |
#on_send(node) ⇒ Object
50 51 52 53 54 |
# File 'lib/rubocop/cop/style/collection_methods.rb', line 50 def on_send(node) return unless node.arguments.one? && node.first_argument.block_pass_type? check_method_node(node) end |