Class: Gem::PathSupport

Inherits:
Object
  • Object
show all
Defined in:
lib/rubygems/path_support.rb

Overview

Gem::PathSupport facilitates the GEM_HOME and GEM_PATH environment settings to the rest of RubyGems.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(env = ENV) ⇒ PathSupport

Constructor. Takes a single argument which is to be treated like a hashtable, or defaults to ENV, the system environment.



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/rubygems/path_support.rb', line 24

def initialize(env=ENV)
  @env = env

  # note 'env' vs 'ENV'...
  @home     = env["GEM_HOME"] || ENV["GEM_HOME"] || Gem.default_dir

  if File::ALT_SEPARATOR then
    @home   = @home.gsub(File::ALT_SEPARATOR, File::SEPARATOR)
  end

  self.path = env["GEM_PATH"] || ENV["GEM_PATH"]

  @spec_cache_dir =
    env["GEM_SPEC_CACHE"] || ENV["GEM_SPEC_CACHE"] ||
      Gem.default_spec_cache_dir

  @spec_cache_dir = @spec_cache_dir.dup.untaint
end

Instance Attribute Details

#homeObject

The default system path for managing Gems.



9
10
11
# File 'lib/rubygems/path_support.rb', line 9

def home
  @home
end

#pathObject

Array of paths to search for Gems.



13
14
15
# File 'lib/rubygems/path_support.rb', line 13

def path
  @path
end

#spec_cache_dirObject (readonly)

Directory with spec cache



17
18
19
# File 'lib/rubygems/path_support.rb', line 17

def spec_cache_dir
  @spec_cache_dir
end