summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Rodríguez <deivid.rodriguez@riseup.net>2022-06-22 14:24:19 +0200
committergit <svn-admin@ruby-lang.org>2022-06-29 03:25:46 +0900
commita16de43f23c0ca160ee3bf3c8655a6ebb586e8fe (patch)
tree298a44dd69e7666c7dd2a33a01b8cdecf3d92708
parentf0fab24241d69d1a89ab764b34cfe74807b1b2d3 (diff)
[rubygems/rubygems] Add `gem env user_gemhome` and `gem env user_gemdir`
https://github.com/rubygems/rubygems/commit/14d3f80df6
-rw-r--r--lib/rubygems/commands/environment_command.rb3
-rw-r--r--test/rubygems/test_gem_commands_environment_command.rb22
2 files changed, 25 insertions, 0 deletions
diff --git a/lib/rubygems/commands/environment_command.rb b/lib/rubygems/commands/environment_command.rb
index ceccf882ee..b6b3d3812c 100644
--- a/lib/rubygems/commands/environment_command.rb
+++ b/lib/rubygems/commands/environment_command.rb
@@ -10,6 +10,7 @@ class Gem::Commands::EnvironmentCommand < Gem::Command
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 @@ lib/rubygems/defaults/operating_system.rb
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 23aa11990b..eeddb2befe 100644
--- a/test/rubygems/test_gem_commands_environment_command.rb
+++ b/test/rubygems/test_gem_commands_environment_command.rb
@@ -65,6 +65,28 @@ class TestGemCommandsEnvironmentCommand < Gem::TestCase
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]