diff --git a/lib/rubocop/cop/rspec/let_setup.rb b/lib/rubocop/cop/rspec/let_setup.rb index d9a66e298..9010ff5dc 100644 --- a/lib/rubocop/cop/rspec/let_setup.rb +++ b/lib/rubocop/cop/rspec/let_setup.rb @@ -51,17 +51,22 @@ def unused_let_bang(node) end def child_let_bang(block_node) + begin_node = nested_begin(block_node) + return unless begin_node + + begin_node.each_child_node(:block) do |child| + node_with_name = let_bang(child) + yield node_with_name if node_with_name + end + end + + def nested_begin(block_node) return unless block_node.body body = block_node.body + return unless body.begin_type? - if body.begin_type? - body.each_child_node(:block) do |child| - if result = let_bang(child) - yield result - end - end - end + body end end end