In Files

  • rubygems/commands/install_command.rb

Class/Module Index [+]

Quicksearch

Gem::Commands::InstallCommand

Gem installer command line tool

See `gem help install`

Public Class Methods

new() click to toggle source
 
               # File rubygems/commands/install_command.rb, line 21
def initialize
  defaults = Gem::DependencyInstaller::DEFAULT_OPTIONS.merge({
    :format_executable => false,
    :version           => Gem::Requirement.default,
    :without_groups    => [],
  })

  super 'install', 'Install a gem into the local repository', defaults

  add_install_update_options
  add_local_remote_options
  add_platform_option
  add_version_option
  add_prerelease_option "to be installed. (Only for listed gems)"

  add_option(:"Install/Update", '-g', '--file [FILE]',
             'Read from a gem dependencies API file and',
             'install the listed gems') do |v,o|
    v = Gem::GEM_DEP_FILES.find do |file|
      File.exist? file
    end unless v

    unless v then
      message = v ? v : "(tried #{Gem::GEM_DEP_FILES.join ', '})"

      raise OptionParser::InvalidArgument,
              "cannot find gem dependencies file #{message}"
    end

    o[:gemdeps] = v
  end

  add_option(:"Install/Update", '--without GROUPS', Array,
             'Omit the named groups (comma separated)',
             'when installing from a gem dependencies',
             'file') do |v,o|
    o[:without_groups].concat v.map { |without| without.intern }
  end

  add_option(:"Install/Update", '--default',
             'Add the gem\s full specification to',
             'specifications/default and extract only its bin') do |v,o|
    o[:install_as_default] = v
  end

  add_option(:"Install/Update", '--explain',
             'Rather than install the gems, indicate which would',
             'be installed') do |v,o|
    o[:explain] = v
  end

  @installed_specs = []
end
            

Public Instance Methods

execute() click to toggle source
 
               # File rubygems/commands/install_command.rb, line 156
def execute
  if options.include? :gemdeps then
    install_from_gemdeps
    return # not reached
  end

  @installed_specs = []

  ENV.delete 'GEM_PATH' if options[:install_dir].nil? and RUBY_VERSION > '1.9'

  check_install_dir
  check_version

  load_hooks

  exit_code = install_gems

  show_installed

  terminate_interaction exit_code
end
            

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.

blog comments powered by Disqus