Class: Gem::Commands::CheckCommand
- Inherits:
-
Gem::Command
- Object
- Gem::Command
- Gem::Commands::CheckCommand
- Includes:
- VersionOption
- Defined in:
- lib/rubygems/commands/check_command.rb
Instance Attribute Summary
Attributes inherited from Gem::Command
#command, #defaults, #options, #program_name, #summary
Instance Method Summary collapse
-
#arguments ⇒ Object
:nodoc:.
- #check_gems ⇒ Object
-
#defaults_str ⇒ Object
:nodoc:.
-
#description ⇒ Object
:nodoc:.
- #doctor ⇒ Object
- #execute ⇒ Object
-
#initialize ⇒ CheckCommand
constructor
A new instance of CheckCommand.
-
#usage ⇒ Object
:nodoc:.
Methods included from VersionOption
#add_platform_option, #add_prerelease_option, #add_version_option
Methods inherited from Gem::Command
add_common_option, #add_extra_args, #add_option, add_specific_extra_args, #begins?, build_args, build_args=, #check_deprecated_options, common_options, #deprecate_option, extra_args, extra_args=, #get_all_gem_names, #get_all_gem_names_and_versions, #get_one_gem_name, #get_one_optional_argument, #handle_options, #handles?, #invoke, #invoke_with_build_args, #merge_options, #remove_option, #show_help, #show_lookup_failure, specific_extra_args, specific_extra_args_hash, #when_invoked
Methods included from UserInteraction
#alert, #alert_error, #alert_warning, #ask, #ask_for_password, #ask_yes_no, #choose_from_list, #say, #terminate_interaction, #verbose
Methods included from DefaultUserInteraction
ui, #ui, ui=, #ui=, use_ui, #use_ui
Methods included from Text
#clean_text, #format_text, #levenshtein_distance, #min3, #truncate_text
Constructor Details
#initialize ⇒ CheckCommand
Returns a new instance of CheckCommand.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/rubygems/commands/check_command.rb', line 11 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, | [:alien] = value end add_option('--[no-]doctor', 'Clean up uninstalled gems and broken', 'specifications') do |value, | [:doctor] = value end add_option('--[no-]dry-run', 'Do not remove files, only report what', 'would be removed') do |value, | [:dry_run] = value end add_option('--[no-]gems', 'Check installed gems for problems') do |value, | [:gems] = value end add_version_option 'check' end |
Instance Method Details
#arguments ⇒ Object
:nodoc:
75 76 77 |
# File 'lib/rubygems/commands/check_command.rb', line 75 def arguments # :nodoc: 'GEMNAME name of gem to check' end |
#check_gems ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/rubygems/commands/check_command.rb', line 41 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? 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 |
#defaults_str ⇒ Object
:nodoc:
79 80 81 |
# File 'lib/rubygems/commands/check_command.rb', line 79 def defaults_str # :nodoc: '--gems --alien' end |
#description ⇒ Object
:nodoc:
83 84 85 86 87 88 |
# File 'lib/rubygems/commands/check_command.rb', line 83 def description # :nodoc: <<-EOF The check command can list and repair problems with installed gems and specifications and will clean up gems that have been partially uninstalled. EOF end |
#doctor ⇒ Object
60 61 62 63 64 65 66 67 68 |
# File 'lib/rubygems/commands/check_command.rb', line 60 def doctor say 'Checking for files from uninstalled gems...' say Gem.path.each do |gem_repo| doctor = Gem::Doctor.new gem_repo, [:dry_run] doctor.doctor end end |
#execute ⇒ Object
70 71 72 73 |
# File 'lib/rubygems/commands/check_command.rb', line 70 def execute check_gems if [:gems] doctor if [:doctor] end |
#usage ⇒ Object
:nodoc:
90 91 92 |
# File 'lib/rubygems/commands/check_command.rb', line 90 def usage # :nodoc: "#{program_name} [OPTIONS] [GEMNAME ...]" end |