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
execute()
click to toggle source
# File lib/rubygems/commands/environment_command.rb, line 69 def execute out = '' arg = options[:args][0] case arg when /^packageversion/ then out << Gem::RubyGemsPackageVersion when /^version/ then out << Gem::VERSION when /^gemdir/, /^gemhome/, /^home/, /^GEM_HOME/ then out << Gem.dir when /^gempath/, /^path/, /^GEM_PATH/ then out << Gem.path.join(File::PATH_SEPARATOR) when /^remotesources/ then out << Gem.sources.to_a.join("\n") when /^platform/ then out << Gem.platforms.join(File::PATH_SEPARATOR) when nil then out = "RubyGems Environment:\n" out << " - RUBYGEMS VERSION: #{Gem::VERSION}\n" out << " - RUBY VERSION: #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}" out << " patchlevel #{RUBY_PATCHLEVEL}" if defined? RUBY_PATCHLEVEL out << ") [#{RUBY_PLATFORM}]\n" out << " - INSTALLATION DIRECTORY: #{Gem.dir}\n" out << " - RUBYGEMS PREFIX: #{Gem.prefix}\n" unless Gem.prefix.nil? out << " - RUBY EXECUTABLE: #{Gem.ruby}\n" out << " - EXECUTABLE DIRECTORY: #{Gem.bindir}\n" out << " - RUBYGEMS PLATFORMS:\n" Gem.platforms.each do |platform| out << " - #{platform}\n" end out << " - GEM PATHS:\n" out << " - #{Gem.dir}\n" path = Gem.path.dup path.delete Gem.dir path.each do |p| out << " - #{p}\n" end out << " - GEM CONFIGURATION:\n" Gem.configuration.each do |name, value| value = value.gsub(/./, '*') if name == 'gemcutter_key' out << " - #{name.inspect} => #{value.inspect}\n" end out << " - REMOTE SOURCES:\n" Gem.sources.each do |s| out << " - #{s}\n" end else raise Gem::CommandLineError, "Unknown environment option [#{arg}]" end say out true end