Sha256: 9cd00d3bfee670fe6e9b33018c08e4cadd9d8c96b9ef452f51e8015d643580e7

Contents?: true

Size: 942 Bytes

Versions: 11

Compression:

Stored size: 942 Bytes

Contents

# frozen_string_literal: true

##
# The BestSet chooses the best available method to query a remote index.
#
# It combines IndexSet and APISet

class Gem::Resolver::BestSet < Gem::Resolver::ComposedSet
  ##
  # Creates a BestSet for the given +sources+ or Gem::sources if none are
  # specified.  +sources+ must be a Gem::SourceList.

  def initialize(sources = Gem.sources)
    super()

    @sources = sources
  end

  ##
  # Picks which sets to use for the configured sources.

  def pick_sets # :nodoc:
    @sources.each_source do |source|
      @sets << source.dependency_resolver_set
    end
  end

  def find_all(req) # :nodoc:
    pick_sets if @remote && @sets.empty?

    super
  end

  def prefetch(reqs) # :nodoc:
    pick_sets if @remote && @sets.empty?

    super
  end

  def pretty_print(q) # :nodoc:
    q.group 2, "[BestSet", "]" do
      q.breakable
      q.text "sets:"

      q.breakable
      q.pp @sets
    end
  end
end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
malicious-1.1 lib/rubygems/resolver/best_set.rb
rubygems-update-3.6.6 lib/rubygems/resolver/best_set.rb
rubygems-update-3.6.5 lib/rubygems/resolver/best_set.rb
rubygems-update-3.6.4 lib/rubygems/resolver/best_set.rb
rubygems-update-3.6.3 lib/rubygems/resolver/best_set.rb
rubygems-update-3.6.2 lib/rubygems/resolver/best_set.rb
rubygems-update-3.6.1 lib/rubygems/resolver/best_set.rb
rubygems-update-3.6.0 lib/rubygems/resolver/best_set.rb
rubygems-update-3.5.23 lib/rubygems/resolver/best_set.rb
rubygems-update-3.5.22 lib/rubygems/resolver/best_set.rb
rubygems-update-3.5.21 lib/rubygems/resolver/best_set.rb