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
permalink #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
permalink #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 |
permalink #check_gems ⇒ Object
[View source]
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 |
permalink #defaults_str ⇒ Object
:nodoc:
79 80 81 |
# File 'lib/rubygems/commands/check_command.rb', line 79 def defaults_str # :nodoc: '--gems --alien' end |
permalink #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 |
permalink #doctor ⇒ Object
[View source]
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 |
permalink #execute ⇒ Object
[View source]
70 71 72 73 |
# File 'lib/rubygems/commands/check_command.rb', line 70 def execute check_gems if [:gems] doctor if [:doctor] end |
permalink #usage ⇒ Object
:nodoc:
90 91 92 |
# File 'lib/rubygems/commands/check_command.rb', line 90 def usage # :nodoc: "#{program_name} [OPTIONS] [GEMNAME ...]" end |