Sha256: 09d106e479fa5379e59a8ee752ab56ba6ab754c5ab7af95fb8c59c59ec221c01

Contents?: true

Size: 900 Bytes

Versions: 82

Compression:

Stored size: 900 Bytes

Contents

##
# The SourceSet chooses the best available method to query a remote index.
#
# Kind off like BestSet but filters the sources for gems

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

  def initialize
    super()

    @links = {}
    @sets  = {}
  end

  def find_all(req) # :nodoc:
    if set = get_set(req.dependency.name)
      set.find_all req
    else
      []
    end
  end

  # potentially no-op
  def prefetch(reqs) # :nodoc:
    reqs.each do |req|
      if set = get_set(req.dependency.name)
        set.prefetch reqs
      end
    end
  end

  def add_source_gem(name, source)
    @links[name] = source
  end

  private

  def get_set(name)
    link = @links[name]
    @sets[link] ||= Gem::Source.new(link).dependency_resolver_set if link
  end
end

Version data entries

82 entries across 82 versions & 1 rubygems

Version Path
rubygems-update-3.3.27 lib/rubygems/resolver/source_set.rb
rubygems-update-3.4.17 lib/rubygems/resolver/source_set.rb
rubygems-update-3.4.16 lib/rubygems/resolver/source_set.rb
rubygems-update-3.4.15 lib/rubygems/resolver/source_set.rb
rubygems-update-3.4.14 lib/rubygems/resolver/source_set.rb
rubygems-update-3.4.13 lib/rubygems/resolver/source_set.rb
rubygems-update-3.4.12 lib/rubygems/resolver/source_set.rb
rubygems-update-3.4.11 lib/rubygems/resolver/source_set.rb
rubygems-update-3.4.10 lib/rubygems/resolver/source_set.rb
rubygems-update-3.4.9 lib/rubygems/resolver/source_set.rb
rubygems-update-3.4.8 lib/rubygems/resolver/source_set.rb
rubygems-update-3.4.7 lib/rubygems/resolver/source_set.rb
rubygems-update-3.2.34 lib/rubygems/resolver/source_set.rb
rubygems-update-3.4.6 lib/rubygems/resolver/source_set.rb
rubygems-update-3.4.5 lib/rubygems/resolver/source_set.rb
rubygems-update-3.4.4 lib/rubygems/resolver/source_set.rb
rubygems-update-3.4.3 lib/rubygems/resolver/source_set.rb
rubygems-update-3.4.2 lib/rubygems/resolver/source_set.rb
rubygems-update-3.4.1 lib/rubygems/resolver/source_set.rb
rubygems-update-3.4.0 lib/rubygems/resolver/source_set.rb