# 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 96
    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 72
    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 /^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 163
    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