Class: LibGems::Commands::EnvironmentCommand
- Inherits:
-
LibGems::Command
- Object
- LibGems::Command
- LibGems::Commands::EnvironmentCommand
- Defined in:
- lib/libgems/commands/environment_command.rb
Instance Attribute Summary
Attributes inherited from LibGems::Command
#command, #defaults, #options, #program_name, #summary
Instance Method Summary collapse
-
#arguments ⇒ Object
:nodoc:.
-
#description ⇒ Object
:nodoc:.
- #execute ⇒ Object
-
#initialize ⇒ EnvironmentCommand
constructor
A new instance of EnvironmentCommand.
-
#usage ⇒ Object
:nodoc:.
Methods inherited from LibGems::Command
add_common_option, #add_extra_args, #add_option, add_specific_extra_args, #begins?, build_args, build_args=, common_options, #defaults_str, extra_args, extra_args=, #get_all_gem_names, #get_one_gem_name, #get_one_optional_argument, #handle_options, #handles?, #invoke, #merge_options, #remove_option, #show_help, #show_lookup_failure, specific_extra_args, specific_extra_args_hash, #when_invoked
Methods included from UserInteraction
Methods included from DefaultUserInteraction
ui, #ui, ui=, #ui=, use_ui, #use_ui
Constructor Details
#initialize ⇒ EnvironmentCommand
Returns a new instance of EnvironmentCommand.
5 6 7 |
# File 'lib/libgems/commands/environment_command.rb', line 5 def initialize super 'environment', "Display information about the #{LibGems::NAME} environment" end |
Instance Method Details
#arguments ⇒ Object
:nodoc:
9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/libgems/commands/environment_command.rb', line 9 def arguments # :nodoc: args = " packageversion display the package version\n gemdir display the path where gems are installed\n gempath display path used to search for gems\n version display the gem format version\n remotesources display the remote gem servers\n platform display the supported gem platforms\n <omitted> display everything\n EOF\n return args.gsub(/^\\s+/, '')\nend\n" |
#description ⇒ Object
:nodoc:
22 23 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 |
# File 'lib/libgems/commands/environment_command.rb', line 22 def description # :nodoc: "The \#{LibGems::NAME} environment can be controlled through command line arguments,\ngemrc files, environment variables and built-in defaults.\n\nCommand line argument defaults and some \#{LibGems::NAME} defaults can be set in\n~/.gemrc file for individual users and a /etc/gemrc for all users. A gemrc\nis a YAML file with the following YAML keys:\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 \#{LibGems::NAME} encounters an error\n:bulk_threshold: Switch to a bulk update when this many sources are out of\n date (legacy setting)\n:gempath: The paths in which to look for gems\ngem_command: A string containing arguments for the specified gem command\n\nExample:\n\n:verbose: false\ninstall: --no-wrappers\nupdate: --no-wrappers\n\n\#{LibGems::NAME}' default local repository can be overriden 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, \#{LibGems::NAME} uses the HTTP_PROXY,\nHTTP_PROXY_USER and HTTP_PROXY_PASS environment variables to discover the\nproxy server.\n\nIf you are packaging \#{LibGems::NAME} all of \#{LibGems::NAME}' defaults are in\nlib/libgems/defaults.rb. You may override these in\nlib/libgems/defaults/operating_system.rb\n EOF\nend\n" |
#execute ⇒ Object
66 67 68 69 70 71 72 73 74 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 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
# File 'lib/libgems/commands/environment_command.rb', line 66 def execute out = '' arg = [:args][0] case arg when /^packageversion/ then out << LibGems::RubyGemsPackageVersion when /^version/ then out << LibGems::LIBGEMS_VERSION when /^gemdir/, /^gemhome/, /^home/, /^LIBGEMS_HOME/, /^GEM_HOME/ then out << LibGems.dir when /^gempath/, /^path/, /^LIBGEMS_PATH/, /^GEM_PATH/ then out << LibGems.path.join(File::PATH_SEPARATOR) when /^remotesources/ then out << LibGems.sources.join("\n") when /^platform/ then out << LibGems.platforms.join(File::PATH_SEPARATOR) when nil then out = "#{LibGems::NAME} Environment:\n" out << " - LibGems VERSION: #{LibGems::LIBGEMS_VERSION}\n" out << " - RUBYGEMS VERSION: #{LibGems::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: #{LibGems.dir}\n" out << " - RUBYGEMS PREFIX: #{LibGems.prefix}\n" unless LibGems.prefix.nil? out << " - RUBY EXECUTABLE: #{LibGems.ruby}\n" out << " - EXECUTABLE DIRECTORY: #{LibGems.bindir}\n" out << " - RUBYGEMS PLATFORMS:\n" LibGems.platforms.each do |platform| out << " - #{platform}\n" end out << " - GEM PATHS:\n" out << " - #{LibGems.dir}\n" path = LibGems.path.dup path.delete LibGems.dir path.each do |p| out << " - #{p}\n" end out << " - GEM CONFIGURATION:\n" LibGems.configuration.each do |name, value| value = value.gsub(/./, '*') if name == 'gemcutter_key' out << " - #{name.inspect} => #{value.inspect}\n" end out << " - REMOTE SOURCES:\n" LibGems.sources.each do |s| out << " - #{s}\n" end else raise LibGems::CommandLineError, "Unknown enviroment option [#{arg}]" end say out true end |
#usage ⇒ Object
:nodoc:
62 63 64 |
# File 'lib/libgems/commands/environment_command.rb', line 62 def usage # :nodoc: "#{program_name} [arg]" end |