In Files

  • rubygems/commands/rdoc_command.rb

Parent

Methods

Included Modules

Class/Module Index [+]

Quicksearch

Gem::Commands::RdocCommand

Public Class Methods

new() click to toggle source
 
               # File rubygems/commands/rdoc_command.rb, line 8
def initialize
  super 'rdoc', 'Generates RDoc for pre-installed gems',
        :version => Gem::Requirement.default,
        :include_rdoc => true, :include_ri => true, :overwrite => false

  add_option('--all',
             'Generate RDoc/RI documentation for all',
             'installed gems') do |value, options|
    options[:all] = value
  end

  add_option('--[no-]rdoc',
             'Generate RDoc HTML') do |value, options|
    options[:include_rdoc] = value
  end

  add_option('--[no-]ri',
             'Generate RI data') do |value, options|
    options[:include_ri] = value
  end

  add_option('--[no-]overwrite',
             'Overwrite installed documents') do |value, options|
    options[:overwrite] = value
  end

  add_version_option
end
            

Public Instance Methods

execute() click to toggle source
 
               # File rubygems/commands/rdoc_command.rb, line 56
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?
    raise "Failed to find gem #{gem_name} to generate RDoc for #{options[:version]}"
  end

  if options[:include_ri]
    specs.sort.each do |spec|
      doc = Gem::DocManager.new(spec)
      doc.generate_ri if options[:overwrite] || !doc.ri_installed?
    end

    Gem::DocManager.update_ri_cache
  end

  if options[:include_rdoc]
    specs.sort.each do |spec|
      doc = Gem::DocManager.new(spec)
      doc.generate_rdoc if options[:overwrite] || !doc.rdoc_installed?
    end
  end

  true
end
            

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.

blog comments powered by Disqus