1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/lib/rubygems/resolver/set.rb
hsbt fa59a2ea80 Merge rubygems-2.6.11
This version fixed regression of rubygems-2.6.10.
  https://github.com/rubygems/rubygems/pull/1856

  See details of changelogs for 2.6.11 release:
  adfcf40502/History.txt (L3)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-17 01:29:22 +00:00

57 lines
1.2 KiB
Ruby

# frozen_string_literal: true
##
# Resolver sets are used to look up specifications (and their
# dependencies) used in resolution. This set is abstract.
class Gem::Resolver::Set
##
# Set to true to disable network access for this set
attr_accessor :remote
##
# Errors encountered when resolving gems
attr_accessor :errors
##
# When true, allows matching of requests to prerelease gems.
attr_accessor :prerelease
def initialize # :nodoc:
require 'uri'
@prerelease = false
@remote = true
@errors = []
end
##
# The find_all method must be implemented. It returns all Resolver
# Specification objects matching the given DependencyRequest +req+.
def find_all req
raise NotImplementedError
end
##
# The #prefetch method may be overridden, but this is not necessary. This
# default implementation does nothing, which is suitable for sets where
# looking up a specification is cheap (such as installed gems).
#
# When overridden, the #prefetch method should look up specifications
# matching +reqs+.
def prefetch reqs
end
##
# When true, this set is allowed to access the network when looking up
# specifications or dependencies.
def remote? # :nodoc:
@remote
end
end