diff options
-rw-r--r-- | lib/rubygems/commands/rdoc_command.rb | 130 |
1 files changed, 62 insertions, 68 deletions
@@ -2,81 +2,75 @@ require 'rubygems/command' require 'rubygems/version_option' require 'rubygems/doc_manager' -module Gem - module Commands - class RdocCommand < Command - include VersionOption - - def initialize - super('rdoc', - 'Generates RDoc for pre-installed gems', - { - :version => Gem::Requirement.default, - :include_rdoc => true, - :include_ri => true, - }) - add_option('--all', - 'Generate RDoc/RI documentation for all', - 'installed gems') do |value, options| - options[:all] = value - end - add_option('--[no-]rdoc', - 'Include RDoc generated documents') do - |value, options| - options[:include_rdoc] = value - end - add_option('--[no-]ri', - 'Include RI generated documents' - ) do |value, options| - options[:include_ri] = value - end - add_version_option - end - def arguments # :nodoc: - "GEMNAME gem to generate documentation for (unless --all)" - end - def defaults_str # :nodoc: - "--version '#{Gem::Requirement.default}' --rdoc --ri" - end - def usage # :nodoc: - "#{program_name} [args]" end - def execute - if options[:all] - specs = Gem::SourceIndex.from_installed_gems.collect { |name, spec| - spec - } - else - gem_name = get_one_gem_name - specs = Gem::SourceIndex.from_installed_gems.search( - gem_name, options[:version]) - end - - if specs.empty? - fail "Failed to find gem #{gem_name} to generate RDoc for #{options[:version]}" - end - - if options[:include_ri] - specs.each do |spec| - Gem::DocManager.new(spec).generate_ri - end - - Gem::DocManager.update_ri_cache - end - - if options[:include_rdoc] - specs.each do |spec| - Gem::DocManager.new(spec).generate_rdoc - end - end - - true end end end end |