Adds extra args from ~/.gemrc
Set
a specific host’s API key to api_key
The name of the configuration file.
Build a single index for RubyGems 1.2 and newer
Builds indices for RubyGems 1.2 and newer. Handles full, latest, prerelease
Creates the symlinks to run the applications in the gem. Moves the symlink if the gem being installed has a newer version.
Return the text for an application file.
return the stub script text used to launch the true Ruby script
The path where installed executables live
Adds an executable named “executable” to spec
with the given shebang
.
The executable is also written to the bin dir in @tmpdir and the installed gem directory for spec
.
Split the Gem search path (as reported by Gem.path
).
Downloads uri
to path
if necessary. If no path is given, it just passes the data.
Adds a development dependency named gem
with requirements
to this gem.
Usage:
spec.add_development_dependency 'example', '~> 1.1', '>= 1.1.4'
Development dependencies aren’t installed by default and aren’t activated when a gem is required.
Adds a runtime dependency named gem
with requirements
to this gem.
Usage:
spec.add_runtime_dependency 'example', '~> 1.1', '>= 1.1.4'
Return the best specification that contains the file matching path
.
Specification
attributes that must be non-nil
Make sure the YAML specification is properly formatted with dashes
TODO: move to minitest
Builds a gem from spec
and places it in File.join @gemhome, 'cache'
. Automatically creates files based on spec.files
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