summaryrefslogtreecommitdiff
path: root/trunk/lib/rubygems/defaults.rb
blob: 8bb9776575e4582098af3e55ef670c79b1276a95 (plain)
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
module Gem

  # An Array of the default sources that come with RubyGems.
  def self.default_sources
    %w[http://gems.rubyforge.org/]
  end

  # Default home directory path to be used if an alternate value is not
  # specified in the environment.
  def self.default_dir
    if defined? RUBY_FRAMEWORK_VERSION then
      File.join File.dirname(ConfigMap[:sitedir]), 'Gems',
                ConfigMap[:ruby_version]
    elsif defined? RUBY_ENGINE then
      File.join ConfigMap[:libdir], RUBY_ENGINE, 'gems',
                ConfigMap[:ruby_version]
    else
      File.join ConfigMap[:libdir], 'ruby', 'gems', ConfigMap[:ruby_version]
    end
  end

  # Default gem load path.
  def self.default_path
    [File.join(ENV['HOME'], '.gem'), default_dir]
  end

  # Deduce Ruby's --program-prefix and --program-suffix from its install name.
  def self.default_exec_format
    baseruby = ConfigMap[:BASERUBY] || 'ruby'
    ConfigMap[:RUBY_INSTALL_NAME].sub(baseruby, '%s') rescue '%s'
  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

  # The default system-wide source info cache directory.
  def self.default_system_source_cache_dir
    File.join Gem.dir, 'source_cache'
  end

  # The default user-specific source info cache directory.
  def self.default_user_source_cache_dir
    File.join Gem.user_home, '.gem', 'source_cache'
  end

end