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, #get_platform_from_requirements
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, #deprecated?, extra_args, extra_args=, #extract_gem_name_and_version, #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 ⇒ RdocCommand
Returns a new instance of RdocCommand.
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 |
# File 'lib/rubygems/commands/rdoc_command.rb', line 11 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:
40 41 42 |
# File 'lib/rubygems/commands/rdoc_command.rb', line 40 def arguments # :nodoc: "GEMNAME gem to generate documentation for (unless --all)" end |
#defaults_str ⇒ Object
:nodoc:
44 45 46 |
# File 'lib/rubygems/commands/rdoc_command.rb', line 44 def defaults_str # :nodoc: "--version '#{Gem::Requirement.default}' --ri --no-overwrite" end |
#description ⇒ Object
:nodoc:
48 49 50 51 52 53 54 55 56 57 |
# File 'lib/rubygems/commands/rdoc_command.rb', line 48 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
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 |
# File 'lib/rubygems/commands/rdoc_command.rb', line 63 def execute specs = if [:all] Gem::Specification.to_a else get_all_gem_names.flat_map do |name| Gem::Specification.find_by_name name, [:version] end.uniq end if specs.empty? 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] FileUtils.rm_rf File.join(spec.doc_dir, "ri") FileUtils.rm_rf File.join(spec.doc_dir, "rdoc") end doc.generate end end |
#usage ⇒ Object
:nodoc:
59 60 61 |
# File 'lib/rubygems/commands/rdoc_command.rb', line 59 def usage # :nodoc: "#{program_name} [args]" end |