Cleans up after a partially-failed uninstall or for an invalid Gem::Specification.
If a specification was removed by hand this will remove any remaining files.
If a corrupt specification was installed this will clean up warnings by removing the bogus specification.
Creates a new Gem::Doctor that will clean up gem_repository.  Only one gem repository may be cleaned at a time.
If dry_run is true no files or directories will be removed.
 
               # File ruby-3.1.2/lib/rubygems/doctor.rb, line 44
def initialize(gem_repository, dry_run = false)
  @gem_repository = gem_repository
  @dry_run        = dry_run
  @installed_specs = nil
end
             
            Cleans up uninstalled files and invalid gem specifications
 
               # File ruby-3.1.2/lib/rubygems/doctor.rb, line 68
def doctor
  @orig_home = Gem.dir
  @orig_path = Gem.path
  say "Checking #{@gem_repository}"
  Gem.use_paths @gem_repository.to_s
  unless gem_repository?
    say 'This directory does not appear to be a RubyGems repository, ' +
        'skipping'
    say
    return
  end
  doctor_children
  say
ensure
  Gem.use_paths @orig_home, *@orig_path
end