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