lib/rubocop/cop/style/ternary_parentheses.rb in rubocop-0.46.0 vs lib/rubocop/cop/style/ternary_parentheses.rb in rubocop-0.47.0
- old
+ new
@@ -47,27 +47,27 @@
# @good
# foo = bar? ? a : b
# foo = bar.baz ? a : b
# foo = (bar && baz) ? a : b
class TernaryParentheses < Cop
- include IfNode
include SafeAssignment
include ConfigurableEnforcedStyle
MSG = '%s parentheses for ternary conditions.'.freeze
MSG_COMPLEX = '%s parentheses for ternary expressions with' \
' complex conditions.'.freeze
def on_if(node)
- return unless ternary?(node) && !infinite_loop? && offense?(node)
+ return unless node.ternary? && !infinite_loop? && offense?(node)
+
add_offense(node, node.source_range, message(node))
end
private
def offense?(node)
- condition, = *node
+ condition = node.condition
if safe_assignment?(condition)
!safe_assignment_allowed?
else
parens = parenthesized?(condition)
@@ -79,11 +79,11 @@
end
end
end
def autocorrect(node)
- condition, = *node
+ condition = node.condition
return nil if parenthesized?(condition) &&
(safe_assignment?(condition) ||
unsafe_autocorrect?(condition))
@@ -116,11 +116,10 @@
condition.defined_type?
end
def message(node)
if require_parentheses_when_complex?
- condition, = *node
- omit = parenthesized?(condition) ? 'Only use' : 'Use'
+ omit = parenthesized?(node.condition) ? 'Only use' : 'Use'
format(MSG_COMPLEX, omit)
else
verb = require_parentheses? ? 'Use' : 'Omit'
format(MSG, verb)
end