# File lib/rubygems/commands/rdoc_command.rb, line 44
  def execute
    if options[:all] then
      specs = Gem::SourceIndex.from_installed_gems.collect { |name, spec|
        spec
      }
    else
      gem_name = get_one_gem_name
      dep = Gem::Dependency.new gem_name, options[:version]
      specs = Gem::SourceIndex.from_installed_gems.search dep
    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