Class: RuboCop::Cop::Style::RedundantParentheses

Inherits:
Base
  • Object
show all
Extended by:
AutoCorrector
Includes:
Parentheses
Defined in:
lib/rubocop/cop/style/redundant_parentheses.rb

Overview

Checks for redundant parentheses.

Examples:


# bad
(x) if ((y.z).nil?)

# good
x if y.z.nil?

Constant Summary collapse

ALLOWED_NODE_TYPES =
%i[and or send splat kwsplat].freeze

Instance Method Summary collapse

Methods included from AutoCorrector

support_autocorrect?

Instance Method Details

#allowed_pin_operator?(node) ⇒ Object



32
# File 'lib/rubocop/cop/style/redundant_parentheses.rb', line 32

def_node_matcher :allowed_pin_operator?, '^(pin (begin !{lvar ivar cvar gvar}))'

#method_node_and_args(node) ⇒ Object



26
# File 'lib/rubocop/cop/style/redundant_parentheses.rb', line 26

def_node_matcher :method_node_and_args, '$(call _recv _msg $...)'

#on_begin(node) ⇒ Object



34
35
36
37
38
# File 'lib/rubocop/cop/style/redundant_parentheses.rb', line 34

def on_begin(node)
  return if !parentheses?(node) || parens_allowed?(node) || ignore_syntax?(node)

  check(node)
end

#rescue?(node) ⇒ Object



29
# File 'lib/rubocop/cop/style/redundant_parentheses.rb', line 29

def_node_matcher :rescue?, '{^resbody ^^resbody}'

#square_brackets?(node) ⇒ Object



23
# File 'lib/rubocop/cop/style/redundant_parentheses.rb', line 23

def_node_matcher :square_brackets?, '(send {(send _recv _msg) str array hash} :[] ...)'