blob: c9485e0c1b44885f6e78f239e78cce1205ea5c42 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# frozen_string_literal: true
require_relative '../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)
alert_error 'You are not currently signed in.'
elsif !File.writable?(credentials_path)
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
|