# File lib/rubygems/commands/help_command.rb, line 98 98: def execute 99: command_manager = Gem::CommandManager.instance 100: arg = options[:args][0] 101: 102: if begins? "commands", arg then 103: out = [] 104: out << "GEM commands are:" 105: out << nil 106: 107: margin_width = 4 108: 109: desc_width = command_manager.command_names.map { |n| n.size }.max + 4 110: 111: summary_width = 80 - margin_width - desc_width 112: wrap_indent = ' ' * (margin_width + desc_width) 113: format = "#{' ' * margin_width}%-#{desc_width}s%s" 114: 115: command_manager.command_names.each do |cmd_name| 116: summary = command_manager[cmd_name].summary 117: summary = wrap(summary, summary_width).split "\n" 118: out << sprintf(format, cmd_name, summary.shift) 119: until summary.empty? do 120: out << "#{wrap_indent}#{summary.shift}" 121: end 122: end 123: 124: out << nil 125: out << "For help on a particular command, use 'gem help COMMAND'." 126: out << nil 127: out << "Commands may be abbreviated, so long as they are unambiguous." 128: out << "e.g. 'gem i rake' is short for 'gem install rake'." 129: 130: say out.join("\n") 131: 132: elsif begins? "options", arg then 133: say Gem::Command::HELP 134: 135: elsif begins? "examples", arg then 136: say EXAMPLES 137: 138: elsif begins? "platforms", arg then 139: say PLATFORMS 140: 141: elsif options[:help] then 142: command = command_manager[options[:help]] 143: if command 144: # help with provided command 145: command.invoke("--help") 146: else 147: alert_error "Unknown command #{options[:help]}. Try 'gem help commands'" 148: end 149: 150: elsif arg then 151: possibilities = command_manager.find_command_possibilities(arg.downcase) 152: if possibilities.size == 1 153: command = command_manager[possibilities.first] 154: command.invoke("--help") 155: elsif possibilities.size > 1 156: alert_warning "Ambiguous command #{arg} (#{possibilities.join(', ')})" 157: else 158: alert_warning "Unknown command #{arg}. Try gem help commands" 159: end 160: 161: else 162: say Gem::Command::HELP 163: end 164: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.