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/defaults.rb
drbrain d5e810dbd2 * ChangeLog:
* lib/rubygems/basic_specification.rb (class Gem):
	* lib/rubygems/commands/contents_command.rb (prefix or only the files that are requir):
	* lib/rubygems/commands/install_command.rb (to write the specification by hand):
	* lib/rubygems/commands/setup_command.rb (class Gem):
	* lib/rubygems/commands/setup_command.rb (TEXT):
	* lib/rubygems/compatibility.rb (module Gem):
	* lib/rubygems/defaults.rb (module Gem):
	* lib/rubygems/deprecate.rb (module Gem):
	* lib/rubygems/installer.rb (class Gem):
	* lib/rubygems/platform.rb (class Gem):
	* lib/rubygems/rdoc.rb (class Gem):
	* lib/rubygems/request_set/lockfile.rb (class Gem):
	* lib/rubygems/resolver/installer_set.rb (class Gem):
	* lib/rubygems/resolver.rb (class Gem):
	* lib/rubygems/specification.rb (class Gem):
	* lib/rubygems/test_case.rb (class Gem):
	* lib/rubygems/test_case.rb (Also):
	* lib/rubygems/uninstaller.rb (class Gem):
	* lib/rubygems.rb (module Gem):
	* test/rubygems/test_gem.rb (class TestGem):
	* test/rubygems/test_gem_commands_contents_command.rb (lib):
	* test/rubygems/test_gem_commands_environment_command.rb (class TestGemCommandsEnvironmentCommand):
	* test/rubygems/test_gem_commands_install_command.rb (ERROR):
	* test/rubygems/test_gem_commands_update_command.rb (class TestGemCommandsUpdateCommand):
	* test/rubygems/test_gem_dependency_installer.rb (class TestGemDependencyInstaller):
	* test/rubygems/test_gem_installer.rb (load Gem):
	* test/rubygems/test_gem_installer.rb (gem):
	* test/rubygems/test_gem_request_set_lockfile.rb (GEM):
	* test/rubygems/test_gem_request_set_lockfile.rb (DEPENDENCIES):
	* test/rubygems/test_gem_specification.rb (dependencies):
	* test/rubygems/test_gem_specification.rb (duplicate dependency on b):
	* test/rubygems/test_gem_uninstaller.rb (class TestGemUninstaller):


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-07 01:19:28 +00:00

163 lines
3.6 KiB
Ruby

module Gem
DEFAULT_HOST = "https://rubygems.org"
@post_install_hooks ||= []
@done_installing_hooks ||= []
@post_uninstall_hooks ||= []
@pre_uninstall_hooks ||= []
@pre_install_hooks ||= []
##
# An Array of the default sources that come with RubyGems
def self.default_sources
%w[https://rubygems.org/]
end
##
# Default spec directory path to be used if an alternate value is not
# specified in the environment
def self.default_spec_cache_dir
File.join Gem.user_home, '.gem', 'specs'
end
##
# Default home directory path to be used if an alternate value is not
# specified in the environment
def self.default_dir
path = if defined? RUBY_FRAMEWORK_VERSION then
[
File.dirname(RbConfig::CONFIG['sitedir']),
'Gems',
RbConfig::CONFIG['ruby_version']
]
elsif RbConfig::CONFIG['rubylibprefix'] then
[
RbConfig::CONFIG['rubylibprefix'],
'gems',
RbConfig::CONFIG['ruby_version']
]
else
[
RbConfig::CONFIG['libdir'],
ruby_engine,
'gems',
RbConfig::CONFIG['ruby_version']
]
end
@default_dir ||= File.join(*path)
end
##
# Returns binary extensions dir for specified RubyGems base dir or nil
# if such directory cannot be determined.
#
# By default, the binary extensions are located side by side with their
# Ruby counterparts, therefore nil is returned
def self.default_ext_dir_for base_dir
nil
end
##
# Paths where RubyGems' .rb files and bin files are installed
def self.default_rubygems_dirs
nil # default to standard layout
end
##
# Path for gems in the user's home directory
def self.user_dir
parts = [Gem.user_home, '.gem', ruby_engine]
parts << RbConfig::CONFIG['ruby_version'] unless RbConfig::CONFIG['ruby_version'].empty?
File.join parts
end
##
# How String Gem paths should be split. Overridable for esoteric platforms.
def self.path_separator
File::PATH_SEPARATOR
end
##
# Default gem load path
def self.default_path
if Gem.user_home && File.exist?(Gem.user_home) then
[user_dir, default_dir]
else
[default_dir]
end
end
##
# Deduce Ruby's --program-prefix and --program-suffix from its install name
def self.default_exec_format
exec_format = RbConfig::CONFIG['ruby_install_name'].sub('ruby', '%s') rescue '%s'
unless exec_format =~ /%s/ then
raise Gem::Exception,
"[BUG] invalid exec_format #{exec_format.inspect}, no %s"
end
exec_format
end
##
# The default directory for binaries
def self.default_bindir
if defined? RUBY_FRAMEWORK_VERSION then # mac framework support
'/usr/bin'
else # generic install
RbConfig::CONFIG['bindir']
end
end
##
# A wrapper around RUBY_ENGINE const that may not be defined
def self.ruby_engine
if defined? RUBY_ENGINE then
RUBY_ENGINE
else
'ruby'
end
end
##
# The default signing key path
def self.default_key_path
File.join Gem.user_home, ".gem", "gem-private_key.pem"
end
##
# The default signing certificate chain path
def self.default_cert_path
File.join Gem.user_home, ".gem", "gem-public_cert.pem"
end
##
# Whether to expect full paths in default gems - true for non-MRI
# ruby implementations
def self.default_gems_use_full_paths?
ruby_engine != 'ruby'
end
##
# Install extensions into lib as well as into the extension directory.
def self.install_extension_in_lib # :nodoc:
true
end
end