Class Gem::Commands::RdocCommand
In: lib/rubygems/commands/rdoc_command.rb
Parent: Gem::Command

Methods

execute   new  

Included Modules

Gem::VersionOption

Public Class methods

[Source]

    # File lib/rubygems/commands/rdoc_command.rb, line 8
 8:   def initialize
 9:     super 'rdoc', 'Generates RDoc for pre-installed gems',
10:           :version => Gem::Requirement.default,
11:           :include_rdoc => true, :include_ri => true, :overwrite => false
12: 
13:     add_option('--all',
14:                'Generate RDoc/RI documentation for all',
15:                'installed gems') do |value, options|
16:       options[:all] = value
17:     end
18: 
19:     add_option('--[no-]rdoc',
20:                'Generate RDoc HTML') do |value, options|
21:       options[:include_rdoc] = value
22:     end
23: 
24:     add_option('--[no-]ri',
25:                'Generate RI data') do |value, options|
26:       options[:include_ri] = value
27:     end
28: 
29:     add_option('--[no-]overwrite',
30:                'Overwrite installed documents') do |value, options|
31:       options[:overwrite] = value
32:     end
33: 
34:     add_version_option
35:   end

Public Instance methods

[Source]

    # File lib/rubygems/commands/rdoc_command.rb, line 57
57:   def execute
58:     if options[:all] then
59:       specs = Gem::SourceIndex.from_installed_gems.collect { |name, spec|
60:         spec
61:       }
62:     else
63:       gem_name = get_one_gem_name
64:       dep = Gem::Dependency.new gem_name, options[:version]
65:       specs = Gem::SourceIndex.from_installed_gems.search dep
66:     end
67: 
68:     if specs.empty?
69:       raise "Failed to find gem #{gem_name} to generate RDoc for #{options[:version]}"
70:     end
71: 
72:     if options[:include_ri]
73:       specs.sort.each do |spec|
74:         doc = Gem::DocManager.new(spec)
75:         doc.generate_ri if options[:overwrite] || !doc.ri_installed?
76:       end
77: 
78:       Gem::DocManager.update_ri_cache
79:     end
80: 
81:     if options[:include_rdoc]
82:       specs.sort.each do |spec|
83:         doc = Gem::DocManager.new(spec)
84:         doc.generate_rdoc if options[:overwrite] || !doc.rdoc_installed?
85:       end
86:     end
87: 
88:     true
89:   end

[Validate]