class Bundler::Fetcher::CompactIndex
def specs_for_names(gem_names)
def specs_for_names(gem_names) gem_info = [] complete_gems = [] remaining_gems = gem_names.dup until remaining_gems.empty? log_specs "Looking up gems #{remaining_gems.inspect}" deps = begin parallel_compact_index_client.dependencies(remaining_gems) rescue TooManyRequestsError @bundle_worker.stop if @bundle_worker @bundle_worker = nil # reset it. Not sure if necessary serial_compact_index_client.dependencies(remaining_gems) end next_gems = deps.map {|d| d[3].map(&:first).flatten(1) }.flatten(1).uniq deps.each {|dep| gem_info << dep } complete_gems.concat(deps.map(&:first)).uniq! remaining_gems = next_gems - complete_gems end @bundle_worker.stop if @bundle_worker @bundle_worker = nil # reset it. Not sure if necessary gem_info end