Class: RuboCop::Cop::Style::MethodCallWithArgsParentheses
- Includes:
- ConfigurableEnforcedStyle, IgnoredMethods, IgnoredPattern
- Defined in:
- lib/rubocop/cop/style/method_call_with_args_parentheses.rb,
lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb,
lib/rubocop/cop/style/method_call_with_args_parentheses/require_parentheses.rb
Overview
This cop enforces the presence (default) or absence of parentheses in method calls containing parameters.
In the default style (require_parentheses), macro methods are ignored.
Additional methods can be added to the IgnoredMethods
or IgnoredPatterns list. These options are
valid only in the default style. Macros can be included by
either setting IgnoreMacros to false or adding specific macros to
the IncludedMacros list.
Precedence of options is all follows:
IgnoredMethodsIgnoredPatternsIncludedMacros
eg. If a method is listed in both
IncludedMacros and IgnoredMethods, then the latter takes
precedence (that is, the method is ignored).
In the alternative style (omit_parentheses), there are three additional options.
-
AllowParenthesesInChainingisfalseby default. Setting it totrueallows the presence of parentheses in the last call during method chaining. -
AllowParenthesesInMultilineCallisfalseby default. Setting it totrueallows the presence of parentheses in multi-line method calls. -
AllowParenthesesInCamelCaseMethodisfalseby default. This allows the presence of parentheses when calling a method whose name begins with a capital letter and which has no arguments. Setting it totrueallows the presence of parentheses in such a method call even with arguments.
Defined Under Namespace
Modules: OmitParentheses, RequireParentheses
Constant Summary
Constants included from Util
Instance Attribute Summary
Attributes inherited from Cop
#config, #corrections, #offenses, #processed_source
Instance Method Summary collapse
- #autocorrect(_node) ⇒ Object abstract
-
#initialize ⇒ MethodCallWithArgsParentheses
constructor
A new instance of MethodCallWithArgsParentheses.
Methods included from ConfigurableEnforcedStyle
#alternative_style, #alternative_styles, #ambiguous_style_detected, #correct_style_detected, #detected_style, #detected_style=, #no_acceptable_style!, #no_acceptable_style?, #opposite_style_detected, #style, #style_configured?, #style_detected, #style_parameter_name, #supported_styles, #unexpected_style_detected
Methods inherited from Cop
#add_offense, all, autocorrect_incompatible_with, badge, #config_to_allow_offenses, #config_to_allow_offenses=, #cop_config, #cop_name, cop_name, #correct, department, #disable_uncorrectable, #duplicate_location?, #excluded_file?, #external_dependency_checksum, #find_location, #highlights, inherited, #join_force?, lint?, match?, #message, #messages, #parse, qualified_cop_name, #reason_to_not_correct, #relevant_file?, #target_rails_version, #target_ruby_version
Methods included from AST::Sexp
Methods included from NodePattern::Macros
#def_node_matcher, #def_node_search, #node_search, #node_search_all, #node_search_body, #node_search_first
Methods included from AutocorrectLogic
#autocorrect?, #autocorrect_enabled?, #autocorrect_requested?, #correctable?, #disable_offense, #disable_uncorrectable?, #safe_autocorrect?, #support_autocorrect?
Methods included from IgnoredNode
#ignore_node, #ignored_node?, #part_of_ignored_node?
Methods included from Util
begins_its_line?, comment_line?, double_quotes_required?, escape_string, first_part_of_call_chain, interpret_string_escapes, line_range, needs_escaping?, on_node, parentheses?, same_line?, to_string_literal, to_supported_styles, tokens, trim_string_interporation_escape_character
Methods included from PathUtil
absolute?, chdir, hidden_dir?, hidden_file_in_not_hidden_dir?, match_path?, pwd, relative_path, reset_pwd, smart_path
Constructor Details
#initialize ⇒ MethodCallWithArgsParentheses
Returns a new instance of MethodCallWithArgsParentheses.
151 152 153 154 155 156 157 158 159 160 161 |
# File 'lib/rubocop/cop/style/method_call_with_args_parentheses.rb', line 151 def initialize(*) super return unless style_configured? case style when :require_parentheses extend RequireParentheses when :omit_parentheses extend OmitParentheses end end |
Instance Method Details
#autocorrect(_node) ⇒ Object
Overridden in style modules
164 |
# File 'lib/rubocop/cop/style/method_call_with_args_parentheses.rb', line 164 def autocorrect(_node); end |