Class: Gem::Commands::EnvironmentCommand
- Inherits:
-
Gem::Command
- Object
- Gem::Command
- Gem::Commands::EnvironmentCommand
- Defined in:
- lib/rubygems/commands/environment_command.rb
Instance Attribute Summary
Attributes inherited from Gem::Command
#command, #defaults, #options, #program_name, #summary
Instance Method Summary collapse
- #add_path(out, path) ⇒ Object
-
#arguments ⇒ Object
:nodoc:.
-
#description ⇒ Object
:nodoc:.
- #execute ⇒ Object
-
#initialize ⇒ EnvironmentCommand
constructor
A new instance of EnvironmentCommand.
-
#show_environment ⇒ Object
:nodoc:.
-
#usage ⇒ Object
:nodoc:.
Methods inherited from Gem::Command
add_common_option, #add_extra_args, #add_option, add_specific_extra_args, #begins?, build_args, build_args=, #check_deprecated_options, common_options, #defaults_str, #deprecate_option, #deprecated?, extra_args, extra_args=, #extract_gem_name_and_version, #get_all_gem_names, #get_all_gem_names_and_versions, #get_one_gem_name, #get_one_optional_argument, #handle_options, #handles?, #invoke, #invoke_with_build_args, #merge_options, #remove_option, #show_help, #show_lookup_failure, specific_extra_args, specific_extra_args_hash, #when_invoked
Methods included from UserInteraction
#alert, #alert_error, #alert_warning, #ask, #ask_for_password, #ask_yes_no, #choose_from_list, #say, #terminate_interaction, #verbose
Methods included from DefaultUserInteraction
ui, #ui, ui=, #ui=, use_ui, #use_ui
Methods included from Text
#clean_text, #format_text, #levenshtein_distance, #min3, #truncate_text
Constructor Details
#initialize ⇒ EnvironmentCommand
Returns a new instance of EnvironmentCommand.
6 7 8 |
# File 'lib/rubygems/commands/environment_command.rb', line 6 def initialize super "environment", "Display information about the RubyGems environment" end |
Instance Method Details
#add_path(out, path) ⇒ Object
103 104 105 106 107 |
# File 'lib/rubygems/commands/environment_command.rb', line 103 def add_path(out, path) path.each do |component| out << " - #{component}\n" end end |
#arguments ⇒ Object
:nodoc:
10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/rubygems/commands/environment_command.rb', line 10 def arguments # :nodoc: args = " home display the path where gems are installed. Aliases: gemhome, gemdir, GEM_HOME\n path display path used to search for gems. Aliases: gempath, GEM_PATH\n user_gemhome display the path where gems are installed when `--user-install` is given. Aliases: user_gemdir\n version display the gem format version\n remotesources display the remote gem servers\n platform display the supported gem platforms\n credentials display the path where credentials are stored\n <omitted> display everything\n EOF\n args.gsub(/^\\s+/, \"\")\nend\n" |
#description ⇒ Object
:nodoc:
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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/rubygems/commands/environment_command.rb', line 24 def description # :nodoc: "The environment command lets you query rubygems for its configuration for\nuse in shell scripts or as a debugging aid.\n\nThe RubyGems environment can be controlled through command line arguments,\ngemrc files, environment variables and built-in defaults.\n\nCommand line argument defaults and some RubyGems defaults can be set in a\n~/.gemrc file for individual users and a gemrc in the SYSTEM CONFIGURATION\nDIRECTORY for all users. These files are YAML files with the following YAML\nkeys:\n\n:sources: A YAML array of remote gem repositories to install gems from\n:verbose: Verbosity of the gem command. false, true, and :really are the\n levels\n:update_sources: Enable/disable automatic updating of repository metadata\n:backtrace: Print backtrace when RubyGems encounters an error\n:gempath: The paths in which to look for gems\n:disable_default_gem_server: Force specification of gem server host on push\n<gem_command>: A string containing arguments for the specified gem command\n\nExample:\n\n:verbose: false\ninstall: --no-wrappers\nupdate: --no-wrappers\n:disable_default_gem_server: true\n\nRubyGems' default local repository can be overridden with the GEM_PATH and\nGEM_HOME environment variables. GEM_HOME sets the default repository to\ninstall into. GEM_PATH allows multiple local repositories to be searched for\ngems.\n\nIf you are behind a proxy server, RubyGems uses the HTTP_PROXY,\nHTTP_PROXY_USER and HTTP_PROXY_PASS environment variables to discover the\nproxy server.\n\nIf you would like to push gems to a private gem server the RUBYGEMS_HOST\nenvironment variable can be set to the URI for that server.\n\nIf you are packaging RubyGems all of RubyGems' defaults are in\nlib/rubygems/defaults.rb. You may override these in\nlib/rubygems/defaults/operating_system.rb\n EOF\nend\n" |
#execute ⇒ Object
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/rubygems/commands/environment_command.rb', line 75 def execute out = String.new arg = [: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 /^credentials/, /^creds/ then Gem.configuration.credentials_path when nil then show_environment else raise Gem::CommandLineError, "Unknown environment option [#{arg}]" end say out true end |
#show_environment ⇒ Object
:nodoc:
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 |
# File 'lib/rubygems/commands/environment_command.rb', line 109 def show_environment # :nodoc: out = "RubyGems Environment:\n".dup out << " - RUBYGEMS VERSION: #{Gem::VERSION}\n" out << " - RUBY VERSION: #{RUBY_VERSION} (#{RUBY_RELEASE_DATE} patchlevel #{RUBY_PATCHLEVEL}) [#{RUBY_PLATFORM}]\n" out << " - INSTALLATION DIRECTORY: #{Gem.dir}\n" out << " - USER INSTALLATION DIRECTORY: #{Gem.user_dir}\n" out << " - CREDENTIALS FILE: #{Gem.configuration.credentials_path}\n" out << " - RUBYGEMS PREFIX: #{Gem.prefix}\n" unless Gem.prefix.nil? out << " - RUBY EXECUTABLE: #{Gem.ruby}\n" out << " - GIT EXECUTABLE: #{git_path}\n" out << " - EXECUTABLE DIRECTORY: #{Gem.bindir}\n" out << " - SPEC CACHE DIRECTORY: #{Gem.spec_cache_dir}\n" out << " - SYSTEM CONFIGURATION DIRECTORY: #{Gem::ConfigFile::SYSTEM_CONFIG_PATH}\n" out << " - RUBYGEMS PLATFORMS:\n" Gem.platforms.each do |platform| out << " - #{platform}\n" end out << " - GEM PATHS:\n" out << " - #{Gem.dir}\n" gem_path = Gem.path.dup gem_path.delete Gem.dir add_path out, gem_path 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 out << " - SHELL PATH:\n" shell_path = ENV["PATH"].split(File::PATH_SEPARATOR) add_path out, shell_path out end |
#usage ⇒ Object
:nodoc:
71 72 73 |
# File 'lib/rubygems/commands/environment_command.rb', line 71 def usage # :nodoc: "#{program_name} [arg]" end |