From fcbf63e62c627deae76c1b8cb8c0876c536ed811 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Mon, 16 Mar 2020 18:49:26 +0900 Subject: Fresh start --- jni/ruby/lib/rubygems/defaults.rb | 177 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 177 insertions(+) create mode 100644 jni/ruby/lib/rubygems/defaults.rb (limited to 'jni/ruby/lib/rubygems/defaults.rb') diff --git a/jni/ruby/lib/rubygems/defaults.rb b/jni/ruby/lib/rubygems/defaults.rb new file mode 100644 index 0000000..55ca080 --- /dev/null +++ b/jni/ruby/lib/rubygems/defaults.rb @@ -0,0 +1,177 @@ +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 + path = [] + path << user_dir if user_home && File.exist?(user_home) + path << default_dir + path << vendor_dir if vendor_dir and File.directory? vendor_dir + path + 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 + + ## + # Directory where vendor gems are installed. + + def self.vendor_dir # :nodoc: + if vendor_dir = ENV['GEM_VENDOR'] then + return vendor_dir.dup + end + + return nil unless RbConfig::CONFIG.key? 'vendordir' + + File.join RbConfig::CONFIG['vendordir'], 'gems', + RbConfig::CONFIG['ruby_version'] + end + +end -- cgit v1.2.3