| Class | Gem::Commands::RdocCommand |
| In: |
lib/rubygems/commands/rdoc_command.rb
|
| Parent: | Gem::Command |
# 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
# 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