class Gem::Commands::EnvironmentCommand

Public Class Methods

new() click to toggle source
Calls superclass method Gem::Command::new
# File lib/rubygems/commands/environment_command.rb, line 5
def initialize
  super "environment", "Display information about the RubyGems environment"
end

Public Instance Methods

add_path(out, path) click to toggle source
# File lib/rubygems/commands/environment_command.rb, line 99
def add_path(out, path)
  path.each do |component|
    out << "     - #{component}\n"
  end
end
execute() click to toggle source
# File lib/rubygems/commands/environment_command.rb, line 73
def execute
  out = String.new
  arg = options[:args][0]
  out <<
    case arg
    when /^version/ then
      Gem::VERSION
    when /^gemdir/, /^gemhome/, /^home/, /^GEM_HOME/ then
      Gem.dir
    when /^gempath/, /^path/, /^GEM_PATH/ then
      Gem.path.join(File::PATH_SEPARATOR)
    when /^user_gemdir/, /^user_gemhome/ then
      Gem.user_dir
    when /^remotesources/ then
      Gem.sources.to_a.join("\n")
    when /^platform/ then
      Gem.platforms.join(File::PATH_SEPARATOR)
    when nil then
      show_environment
    else
      raise Gem::CommandLineError, "Unknown environment option [#{arg}]"
    end
  say out
  true
end

Private Instance Methods

git_path() click to toggle source

Git binary path

# File lib/rubygems/commands/environment_command.rb, line 166
def git_path
  exts = ENV["PATHEXT"] ? ENV["PATHEXT"].split(";") : [""]
  ENV["PATH"].split(File::PATH_SEPARATOR).each do |path|
    exts.each do |ext|
      exe = File.join(path, "git#{ext}")
      return exe if File.executable?(exe) && !File.directory?(exe)
    end
  end

  return nil
end