diff options
Diffstat (limited to 'lib/rubygems/commands/rdoc_command.rb')
-rw-r--r-- | lib/rubygems/commands/rdoc_command.rb | 130 |
1 files changed, 62 insertions, 68 deletions
diff --git a/lib/rubygems/commands/rdoc_command.rb b/lib/rubygems/commands/rdoc_command.rb index 2790ae7e3e..92f215705a 100644 --- a/lib/rubygems/commands/rdoc_command.rb +++ b/lib/rubygems/commands/rdoc_command.rb @@ -2,81 +2,75 @@ require 'rubygems/command' require 'rubygems/version_option' require 'rubygems/doc_manager' -module Gem - module Commands - class RdocCommand < Command - include VersionOption - - def initialize - super('rdoc', - 'Generates RDoc for pre-installed gems', - { - :version => Gem::Requirement.default, - :include_rdoc => true, - :include_ri => true, - }) - add_option('--all', - 'Generate RDoc/RI documentation for all', - 'installed gems') do |value, options| - options[:all] = value - end - add_option('--[no-]rdoc', - 'Include RDoc generated documents') do - |value, options| - options[:include_rdoc] = value - end - add_option('--[no-]ri', - 'Include RI generated documents' - ) do |value, options| - options[:include_ri] = value - end - add_version_option - end +class Gem::Commands::RdocCommand < Gem::Command + include Gem::VersionOption - def arguments # :nodoc: - "GEMNAME gem to generate documentation for (unless --all)" - end + def initialize + super 'rdoc', 'Generates RDoc for pre-installed gems', + :version => Gem::Requirement.default, + :include_rdoc => true, :include_ri => true - def defaults_str # :nodoc: - "--version '#{Gem::Requirement.default}' --rdoc --ri" - end + add_option('--all', + 'Generate RDoc/RI documentation for all', + 'installed gems') do |value, options| + options[:all] = value + end + + add_option('--[no-]rdoc', + 'Include RDoc generated documents') do |value, options| + options[:include_rdoc] = value + end + + add_option('--[no-]ri', + 'Include RI generated documents') do |value, options| + options[:include_ri] = value + end + + add_version_option + end + + def arguments # :nodoc: + "GEMNAME gem to generate documentation for (unless --all)" + end - def usage # :nodoc: - "#{program_name} [args]" + def defaults_str # :nodoc: + "--version '#{Gem::Requirement.default}' --rdoc --ri" + end + + def usage # :nodoc: + "#{program_name} [args]" + end + + 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 - def execute - if options[:all] - specs = Gem::SourceIndex.from_installed_gems.collect { |name, spec| - spec - } - else - gem_name = get_one_gem_name - specs = Gem::SourceIndex.from_installed_gems.search( - gem_name, options[:version]) - 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 + Gem::DocManager.update_ri_cache + end + + if options[:include_rdoc] + specs.each do |spec| + Gem::DocManager.new(spec).generate_rdoc end end + true end end + |