1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
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(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
##
# 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 << ConfigMap[:ruby_version] unless ConfigMap[: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 = 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
##
# The default directory for binaries
def self.default_bindir
if defined? RUBY_FRAMEWORK_VERSION then # mac framework support
'/usr/bin'
else # generic install
ConfigMap[: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
end
|