Combines specs in index
and source
then writes out a new copy to dest
. For a latest index, does not ensure the new file is minimal.
Creates windows .bat files for easy running of commands
Creates the scripts to run the applications in the gem.
Creates the symlinks to run the applications in the gem. Moves the symlink if the gem being installed has a newer version.
Performs various checks before installing the gem such as the install repository is writable and its directories exist, required Ruby and rubygems versions are met and that dependencies are installed.
Version and dependency checks are skipped if this install is forced.
The dependent check will be skipped if the install is ignoring dependencies.
Writes the .gem file to the cache directory
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
).
Given a name and requirement, downloads this gem into cache and returns the filename. Returns nil if the gem cannot be located.
Find
and fetch gem name tuples that match dependency
.
If matching_platform
is false, gems for all platforms are returned.
TODO: move to minitest
TODO: move to minitest
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
Set
the platform to arch
Choose from a list of options. question
is a prompt displayed above the list. list
is a list of option strings. Returns the pair [option_name, option_index].
private functions
Defines a command, registering path
as a Shell
method for the given command
.
Shell::CommandProcessor.def_system_command "ls" #=> Defines ls. Shell::CommandProcessor.def_system_command "sys_sort", "sort" #=> Defines sys_sort as sort
Undefines a command