From 8f38d0b0176052d6de13ec17223f1fcab3048cfe Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Tue, 14 Jun 2022 23:01:05 -0400 Subject: [PATCH] Clean up ItemSet#close! --- lib/propane/parser/item_set.rb | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/lib/propane/parser/item_set.rb b/lib/propane/parser/item_set.rb index df85c41..6c2df31 100644 --- a/lib/propane/parser/item_set.rb +++ b/lib/propane/parser/item_set.rb @@ -110,15 +110,13 @@ class Propane # # @return [void] def close! - eval_items = @items + eval_items = @items.dup while eval_items.size > 0 - this_eval_items = eval_items - eval_items = Set.new - this_eval_items.each do |item| - item.closed_items.each do |new_item| - unless @items.include?(new_item) - eval_items << new_item - end + item = eval_items.first + eval_items.delete(item) + item.closed_items.each do |new_item| + unless @items.include?(new_item) + eval_items << new_item end end @items += eval_items