lib/rubocop/cop/salsify/style_dig.rb in salsify_rubocop-0.47.1 vs lib/rubocop/cop/salsify/style_dig.rb in salsify_rubocop-0.47.2

- old
+ new

@@ -26,11 +26,11 @@ def_node_matcher :nested_access_match, <<-PATTERN (send (send (send _receiver !:[]) :[] _) :[] _) PATTERN def on_send(node) - nested_access_match(node) do + if nested_access_match(node) && !conditional_assignment?(node) match_node = node # walk to outermost access node match_node = match_node.parent while access_node?(match_node.parent) add_offense(match_node, :expression, MSG) end @@ -52,9 +52,13 @@ corrector.replace(range, ".dig(#{source_args.reverse.join(', ')})") end end private + + def conditional_assignment?(node) + node.parent && node.parent.or_asgn_type? && (node.parent.children.first == node) + end def access_node?(node) node && node.send_type? && node.method_name == :[] end end