Mini Shell
# 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
Zerion Mini Shell 1.0