diff options
author | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-10-08 01:32:18 +0000 |
---|---|---|
committer | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-10-08 01:32:18 +0000 |
commit | c00e84327f14845bd484e76b5ee5dfeb1fa9ce3d (patch) | |
tree | 9f558dafa363f4f0118d504a50cd4461e2821cd1 /lib/rubygems/commands/signout_command.rb | |
parent | 6b05153a3a75b74b64553d6a46f501d9ee0f0376 (diff) |
Merge rubygems master.
This is RC version of Rubygems 2.7.0.
https://github.com/rubygems/rubygems/commit/688fb7e83c13c3fe7c2bb03c49a2db4c82852aee
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rubygems/commands/signout_command.rb')
-rw-r--r-- | lib/rubygems/commands/signout_command.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/rubygems/commands/signout_command.rb b/lib/rubygems/commands/signout_command.rb new file mode 100644 index 0000000000..2452e8cae1 --- /dev/null +++ b/lib/rubygems/commands/signout_command.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true +require 'rubygems/command' + +class Gem::Commands::SignoutCommand < Gem::Command + + def initialize + super 'signout', 'Sign out from all the current sessions.' + end + + def description # :nodoc: + 'The `signout` command is used to sign out from all current sessions,'\ + ' allowing you to sign in using a different set of credentials.' + end + + def usage # :nodoc: + program_name + end + + def execute + credentials_path = Gem.configuration.credentials_path + + if !File.exist?(credentials_path) then + alert_error 'You are not currently signed in.' + elsif !File.writable?(credentials_path) then + alert_error "File '#{Gem.configuration.credentials_path}' is read-only."\ + ' Please make sure it is writable.' + else + Gem.configuration.unset_api_key! + say 'You have successfully signed out from all sessions.' + end + end + +end |