class Gem::Commands::CheckCommand

Public Class Methods

new() click to toggle source
Calls superclass method Gem::Command.new
# File lib/rubygems/commands/check_command.rb, line 10
def initialize
 super 'check', 'Check a gem repository for added or missing files',
 :alien => true, :doctor => false, :dry_run => false, :gems => true
 add_option('-a', '--[no-]alien',
 'Report "unmanaged" or rogue files in the',
 'gem repository') do |value, options|
 options[:alien] = value
 end
 add_option('--[no-]doctor',
 'Clean up uninstalled gems and broken',
 'specifications') do |value, options|
 options[:doctor] = value
 end
 add_option('--[no-]dry-run',
 'Do not remove files, only report what',
 'would be removed') do |value, options|
 options[:dry_run] = value
 end
 add_option('--[no-]gems',
 'Check installed gems for problems') do |value, options|
 options[:gems] = value
 end
 add_version_option 'check'
end

Public Instance Methods

check_gems() click to toggle source
# File lib/rubygems/commands/check_command.rb, line 40
def check_gems
 say 'Checking gems...'
 say
 gems = get_all_gem_names rescue []
 Gem::Validator.new.alien(gems).sort.each do |key, val|
 unless val.empty? then
 say "#{key} has #{val.size} problems"
 val.each do |error_entry|
 say " #{error_entry.path}:"
 say " #{error_entry.problem}"
 end
 else
 say "#{key} is error-free" if Gem.configuration.verbose
 end
 say
 end
end
doctor() click to toggle source
# File lib/rubygems/commands/check_command.rb, line 59
def doctor
 say 'Checking for files from uninstalled gems...'
 say
 Gem.path.each do |gem_repo|
 doctor = Gem::Doctor.new gem_repo, options[:dry_run]
 doctor.doctor
 end
end
execute() click to toggle source
# File lib/rubygems/commands/check_command.rb, line 69
def execute
 check_gems if options[:gems]
 doctor if options[:doctor]
end