class Gem::Commands::SetupCommand
def initialize
def initialize require 'tmpdir' super 'setup', 'Install RubyGems', :format_executable => true, :document => %w[ri], :site_or_vendor => :sitelibdir, :destdir => '', :prefix => '', :previous_version => '' add_option '--previous-version=VERSION', 'Previous version of rubygems', 'Used for changelog processing' do |version, options| options[:previous_version] = version end add_option '--prefix=PREFIX', 'Prefix path for installing RubyGems', 'Will not affect gem repository location' do |prefix, options| options[:prefix] = File.expand_path prefix end add_option '--destdir=DESTDIR', 'Root directory to install RubyGems into', 'Mainly used for packaging RubyGems' do |destdir, options| options[:destdir] = File.expand_path destdir end add_option '--[no-]vendor', 'Install into vendorlibdir not sitelibdir' do |vendor, options| options[:site_or_vendor] = vendor ? :vendorlibdir : :sitelibdir end add_option '--[no-]format-executable', 'Makes `gem` match ruby', 'If ruby is ruby18, gem will be gem18' do |value, options| options[:format_executable] = value end add_option '--[no-]document [TYPES]', Array, 'Generate documentation for RubyGems.', 'List the documentation types you wish to', 'generate. For example: rdoc,ri' do |value, options| options[:document] = case value when nil then %w[rdoc ri] when false then [] else value end end add_option '--[no-]rdoc', 'Generate RDoc documentation for RubyGems' do |value, options| if value then options[:document] << 'rdoc' else options[:document].delete 'rdoc' end options[:document].uniq! end add_option '--[no-]ri', 'Generate RI documentation for RubyGems' do |value, options| if value then options[:document] << 'ri' else options[:document].delete 'ri' end options[:document].uniq! end end