method

search_for

Importance_0
Ruby latest stable (v2_5_5) - 0 notes - Class: Resolver
search_for(dependency) public

No documentation

This method has no description. You can help the Ruby community by adding new notes.

Hide source
# File lib/rubygems/resolver.rb, line 225
  def search_for(dependency)
    possibles, all = find_possible(dependency)
    if !@soft_missing && possibles.empty?
      @missing << dependency
      exc = Gem::UnsatisfiableDependencyError.new dependency, all
      exc.errors = @set.errors
      raise exc
    end

    sources = []

    groups = Hash.new { |hash, key| hash[key] = [] }

    # create groups & sources in the same loop
    sources = possibles.map { |spec|
      source = spec.source
      groups[source] << spec
      source
    }.uniq.reverse

    activation_requests = []

    sources.each do |source|
      groups[source].
        sort_by { |spec| [spec.version, Gem::Platform.local =~ spec.platform ? 1 : 0] }.
        map { |spec| ActivationRequest.new spec, dependency, [] }.
        each { |activation_request| activation_requests << activation_request }
    end

    activation_requests
  end
Register or log in to add new notes.