This method is only available on newer versions.
The first available version (v2_6_3) is shown here.
double_check_for_index(idx, dependency_names)
private
Suppose the gem Foo depends on the gem Bar. Foo exists in Source A.
Bar has some versions that exist in both sources A and B. At this point,
the API request will have found all
the versions of Bar in source A, but will not have found any versions of
Bar from source B, which is a problem if the requested version of Foo specifically depends on a version of Bar that is
only found in source B. This ensures that for each spec we found, we add
all possible versions from all sources to the index.
# File lib/bundler/definition.rb, line 286
def double_check_for_index(idx, dependency_names)
pinned_names = pinned_spec_names
loop do
idxcount = idx.size
names = :names # do this so we only have to traverse to get dependency_names from the index once
unmet_dependency_names = lambda do
return names unless names == :names
new_names = sources.all_sources.map(&:dependency_names_to_double_check)
return names = nil if new_names.compact!
names = new_names.flatten(1).concat(dependency_names)
names.uniq!
names -= pinned_names
names
end
sources.all_sources.each do |source|
source.double_check_for(unmet_dependency_names)
end
break if idxcount == idx.size
end
end