Ensures the Gem::Specification
written out for this gem is loadable upon installation.
Prefix and suffix the program filename the same as ruby.
Builds the @spec gem and returns an installer for it. The built gem includes:
bin/executable lib/code.rb ext/a/mkrf_conf.rb
Split the Gem search path (as reported by Gem.path
).
Given a name and requirement, downloads this gem into cache and returns the filename. Returns nil if the gem cannot be located.
Installs from the gem dependencies files in the :gemdeps
option in options
, yielding to the block
as in install
.
If :without_groups
is given in the options
, those groups in the gem dependencies file are not used. See Gem::Installer
for other options
.
Creates a Resolver
that queries only against the already installed gems for the needed
dependencies.
TODO: move to minitest
Builds a gem from spec
and places it in File.join @gemhome, 'cache'
. Automatically creates files based on spec.files
Removes all installed gems from +@gemhome+.
Installs the provided default specs including writing the spec file
Creates several default gems which all have a lib/code.rb file. The gems are not installed but are available in the cache dir.
gem a version 1, this is the best-described gem.
gem a version 2
gem a version 3.a
gem a_evil version 9, use this to ensure similarly-named gems don’t collide with a.
gem b version 2
gem c version 1.2
gem pl version 1, this gem has a legacy platform of i386-linux.
Additional prerelease
gems may also be created:
gem a version 2.a
TODO: nuke this and fix tests. this should speed up a lot
Add spec
to +@fetcher+ serving the data in the file path
. repo
indicates which repo to make spec
appear to be in.
Private method to assemble query
from attributes
, scope
, filter
, and extensions
.