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