Class: Gem::Commands::RdocCommand
- Inherits:
-
Gem::Command
- Object
- Gem::Command
- Gem::Commands::RdocCommand
- Includes:
- VersionOption
- Defined in:
- lib/rubygems/commands/rdoc_command.rb
Instance Attribute Summary
Attributes inherited from Gem::Command
#command, #defaults, #options, #program_name, #summary
Instance Method Summary collapse
-
#arguments ⇒ Object
:nodoc:.
-
#defaults_str ⇒ Object
:nodoc:.
-
#description ⇒ Object
:nodoc:.
- #execute ⇒ Object
-
#initialize ⇒ RdocCommand
constructor
A new instance of RdocCommand.
-
#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=, common_options, 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
Methods included from DefaultUserInteraction
ui, #ui, ui=, #ui=, use_ui, #use_ui
Constructor Details
#initialize ⇒ RdocCommand
Returns a new instance of RdocCommand.
9 10 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 |
# File 'lib/rubygems/commands/rdoc_command.rb', line 9 def initialize super 'rdoc', 'Generates RDoc for pre-installed gems', :version => Gem::Requirement.default, :include_rdoc => false, :include_ri => true, :overwrite => false add_option('--all', 'Generate RDoc/RI documentation for all', 'installed gems') do |value, | [:all] = value end add_option('--[no-]rdoc', 'Generate RDoc HTML') do |value, | [:include_rdoc] = value end add_option('--[no-]ri', 'Generate RI data') do |value, | [:include_ri] = value end add_option('--[no-]overwrite', 'Overwrite installed documents') do |value, | [:overwrite] = value end add_version_option end |
Instance Method Details
#arguments ⇒ Object
:nodoc:
38 39 40 |
# File 'lib/rubygems/commands/rdoc_command.rb', line 38 def arguments # :nodoc: "GEMNAME gem to generate documentation for (unless --all)" end |
#defaults_str ⇒ Object
:nodoc:
42 43 44 |
# File 'lib/rubygems/commands/rdoc_command.rb', line 42 def defaults_str # :nodoc: "--version '#{Gem::Requirement.default}' --ri --no-overwrite" end |
#description ⇒ Object
:nodoc:
46 47 48 49 50 51 52 53 54 55 |
# File 'lib/rubygems/commands/rdoc_command.rb', line 46 def description # :nodoc: <<-DESC The rdoc command builds documentation for installed gems. By default only documentation is built using rdoc, but additional types of documentation may be built through rubygems plugins and the Gem.post_installs hook. Use --overwrite to force rebuilding of documentation. DESC end |
#execute ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/rubygems/commands/rdoc_command.rb', line 61 def execute specs = if [:all] then Gem::Specification.to_a else get_all_gem_names.map do |name| Gem::Specification.find_by_name name, [:version] end.flatten.uniq end if specs.empty? then alert_error 'No matching gems found' terminate_interaction 1 end specs.each do |spec| doc = Gem::RDoc.new spec, [:include_rdoc], [:include_ri] doc.force = [:overwrite] if [:overwrite] then FileUtils.rm_rf File.join(spec.doc_dir, 'ri') FileUtils.rm_rf File.join(spec.doc_dir, 'rdoc') end begin doc.generate rescue Errno::ENOENT => e e. =~ / - / alert_error "Unable to document #{spec.full_name}, #{$'} is missing, skipping" terminate_interaction 1 if specs.length == 1 end end end |
#usage ⇒ Object
:nodoc:
57 58 59 |
# File 'lib/rubygems/commands/rdoc_command.rb', line 57 def usage # :nodoc: "#{program_name} [args]" end |