class Bundler::Resolver

def prepare_dependencies(requirements, packages)

def prepare_dependencies(requirements, packages)
  to_dependency_hash(requirements, packages).map do |dep_package, dep_constraint|
    name = dep_package.name
    next [dep_package, dep_constraint] if name == "bundler"
    dep_range = dep_constraint.range
    versions = select_sorted_versions(dep_package, dep_range)
    if versions.empty? && dep_package.ignores_prereleases?
      @all_versions.delete(dep_package)
      @sorted_versions.delete(dep_package)
      dep_package.consider_prereleases!
      versions = select_sorted_versions(dep_package, dep_range)
    end
    if versions.empty? && select_all_versions(dep_package, dep_range).any?
      raise_all_versions_filtered_out!(dep_package)
    end
    next [dep_package, dep_constraint] unless versions.empty?
    next unless dep_package.current_platform?
    raise_not_found!(dep_package)
  end.compact.to_h
end