diff --git a/lib/rubygems/commands/environment_command.rb b/lib/rubygems/commands/environment_command.rb index ceccf882ee3927..b6b3d3812caf02 100644 --- a/lib/rubygems/commands/environment_command.rb +++ b/lib/rubygems/commands/environment_command.rb @@ -10,6 +10,7 @@ def arguments # :nodoc: args = <<-EOF home display the path where gems are installed. Aliases: gemhome, gemdir, GEM_HOME path display path used to search for gems. Aliases: gempath, GEM_PATH + user_gemhome display the path where gems are installed when `--user-install` is given. Aliases: user_gemdir version display the gem format version remotesources display the remote gem servers platform display the supported gem platforms @@ -80,6 +81,8 @@ def execute 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 diff --git a/test/rubygems/test_gem_commands_environment_command.rb b/test/rubygems/test_gem_commands_environment_command.rb index 23aa11990b39d3..eeddb2befec99b 100644 --- a/test/rubygems/test_gem_commands_environment_command.rb +++ b/test/rubygems/test_gem_commands_environment_command.rb @@ -65,6 +65,28 @@ def test_execute_gemdir assert_equal '', @ui.error end + def test_execute_user_gemdir + @cmd.send :handle_options, %w[user_gemdir] + + use_ui @ui do + @cmd.execute + end + + assert_equal "#{Gem.user_dir}\n", @ui.output + assert_equal '', @ui.error + end + + def test_execute_user_gemhome + @cmd.send :handle_options, %w[user_gemhome] + + use_ui @ui do + @cmd.execute + end + + assert_equal "#{Gem.user_dir}\n", @ui.output + assert_equal '', @ui.error + end + def test_execute_gempath @cmd.send :handle_options, %w[gempath]