HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/lib/ruby/3.0.0/rubygems/commands/signout_command.rb
# 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