module Gem
DEFAULT_HOST = "https://rubygems.org"
@post_install_hooks ||= []
@done_installing_hooks ||= []
@post_uninstall_hooks ||= []
@pre_uninstall_hooks ||= []
@pre_install_hooks ||= []
def self.default_sources
%w[https://rubygems.org/]
end
def self.default_dir
path = if defined? RUBY_FRAMEWORK_VERSION then
[
File.dirname(ConfigMap[:sitedir]),
'Gems',
ConfigMap[:ruby_version]
]
elsif ConfigMap[:rubylibprefix] then
[
ConfigMap[:rubylibprefix],
'gems',
ConfigMap[:ruby_version]
]
else
[
ConfigMap[:libdir],
ruby_engine,
'gems',
ConfigMap[:ruby_version]
]
end
@default_dir ||= File.join(*path)
end
def self.default_rubygems_dirs
nil end
def self.user_dir
parts = [Gem.user_home, '.gem', ruby_engine]
parts << ConfigMap[:ruby_version] unless ConfigMap[:ruby_version].empty?
File.join parts
end
def self.path_separator
File::PATH_SEPARATOR
end
def self.default_path
if Gem.user_home && File.exist?(Gem.user_home) then
[user_dir, default_dir]
else
[default_dir]
end
end
def self.default_exec_format
exec_format = ConfigMap[: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
def self.default_bindir
if defined? RUBY_FRAMEWORK_VERSION then '/usr/local/bin'
else ConfigMap[:bindir]
end
end
def self.ruby_engine
if defined? RUBY_ENGINE then
RUBY_ENGINE
else
'ruby'
end
end
def self.default_key_path
File.join Gem.user_home, ".gem", "gem-private_key.pem"
end
def self.default_cert_path
File.join Gem.user_home, ".gem", "gem-public_cert.pem"
end
end