Class: RuboCop::Cop::Style::MethodCallWithArgsParentheses
- Includes:
- ConfigurableEnforcedStyle, IgnoredMethods
- Defined in:
- lib/rubocop/cop/style/method_call_with_args_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 list. This option is valid only in the default style. Macros can be included by either setting IgnoreMacros to false or adding specific macros to the IncludedMacros list. 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 itto `true` allows the presence of parentheses in multi-line method calls. -
AllowParenthesesInCamelCaseMethodisfalseby default. Thisallows the presence of parentheses when calling a method whose name begins with a capital letter and which has no arguments. Setting it to `true` allows the presence of parentheses in such a method call even with arguments.
Constant Summary collapse
- TRAILING_WHITESPACE_REGEX =
/\s+\Z/.freeze
Constants included from Util
Instance Attribute Summary
Attributes inherited from Cop
#config, #corrections, #offenses, #processed_source
Instance Method Summary collapse
- #autocorrect(node) ⇒ Object
- #message(_node = nil) ⇒ Object
- #on_send(node) ⇒ Object (also: #on_csend, #on_super, #on_yield)
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_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, #duplicate_location?, #excluded_file?, #find_location, #highlights, inherited, #initialize, #join_force?, lint?, match?, #messages, non_rails, #parse, qualified_cop_name, #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?, #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
This class inherits a constructor from RuboCop::Cop::Cop
Instance Method Details
#autocorrect(node) ⇒ Object
154 155 156 157 158 159 160 161 |
# File 'lib/rubocop/cop/style/method_call_with_args_parentheses.rb', line 154 def autocorrect(node) case style when :require_parentheses autocorrect_for_require_parentheses(node) when :omit_parentheses autocorrect_for_omit_parentheses(node) end end |
#message(_node = nil) ⇒ Object
163 164 165 166 167 168 169 170 |
# File 'lib/rubocop/cop/style/method_call_with_args_parentheses.rb', line 163 def (_node = nil) case style when :require_parentheses 'Use parentheses for method calls with arguments.' when :omit_parentheses 'Omit parentheses for method calls with arguments.' end end |
#on_send(node) ⇒ Object Also known as: on_csend, on_super, on_yield
142 143 144 145 146 147 148 149 |
# File 'lib/rubocop/cop/style/method_call_with_args_parentheses.rb', line 142 def on_send(node) case style when :require_parentheses add_offense_for_require_parentheses(node) when :omit_parentheses add_offense_for_omit_parentheses(node) end end |