lib/capybara/experience/pool.rb in capybara-experience-0.3.3 vs lib/capybara/experience/pool.rb in capybara-experience-0.3.4

- old
+ new

@@ -7,11 +7,11 @@ include Singleton def [](key) super(key) || begin driver, _session_name, app_object_id = key.split(":") - take(driver: driver, app_object_id: app_object_id, key: key) + take(driver: driver.to_sym, app_object_id: app_object_id.to_i, key: key) end end def take(driver: Capybara.current_driver, app_object_id: Capybara.app.object_id, key: nil) session = idle.find { |s| s.mode == driver && s.app.object_id == app_object_id } @@ -34,12 +34,13 @@ def taken values - idle end def reset_idle! - to_h.each do |key, session| - self[session_key(session)] = delete(key) + new_hash = each_with_object({}) do |(key, session), hash| + hash[session_key(session)] = delete(key) end + replace(new_hash) @idle = values nil end