# 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