Class
A GitSet
represents gems that are sourced from git repositories.
This is used for gem dependency file support.
Example:
set = Gem::Resolver::GitSet.new set.add_git_gem 'rake', 'git://example/rake.git', tag: 'rake-10.1.0'
Attributes
Instance Methods
lib/rubygems/resolver/git_set.rb
View on GitHub
# File tmp/rubies/ruby-2.5.9/lib/rubygems/resolver/git_set.rb, line 80
def find_all req
prefetch nil
specs.values.select do |spec|
req.match? spec
end
end
Finds all git gems matching req
lib/rubygems/resolver/git_set.rb
View on GitHub
# File tmp/rubies/ruby-2.5.9/lib/rubygems/resolver/git_set.rb, line 91
def prefetch reqs
return unless @specs.empty?
@repositories.each do |name, (repository, reference)|
source = Gem::Source::Git.new name, repository, reference
source.root_dir = @root_dir
source.remote = @remote
source.specs.each do |spec|
git_spec = Gem::Resolver::GitSpecification.new self, spec, source
@specs[spec.name] = git_spec
end
end
end
Prefetches specifications from the git repositories in this set.