1. Gem::
  2. Commands::
  3. FetchCommand

class Gem::Commands::FetchCommand

Public Class Methods

Source
# File lib/rubygems/commands/fetch_command.rb, line 11definitializedefaults = {suggest_alternate:true,version:Gem::Requirement.default,  }super"fetch","Download a gem and place it in the current directory",defaultsadd_bulk_threshold_optionadd_proxy_optionadd_source_optionadd_clear_sources_optionadd_version_optionadd_platform_optionadd_prerelease_optionadd_option"--[no-]suggestions","Suggest alternates when gems are not found"do|value,options|options[:suggest_alternate] =valueendend
Calls superclass methodGem::Command::new

Public Instance Methods

Source
# File lib/rubygems/commands/fetch_command.rb, line 64defexecutecheck_versionexit_code =fetch_gemsterminate_interactionexit_codeend

Private Instance Methods

Source
# File lib/rubygems/commands/fetch_command.rb, line 74deffetch_gemsexit_code =0version =options[:version]platform  =Gem.platforms.lastgem_names =get_all_gem_names_and_versionsgem_names.eachdo|gem_name,gem_version|gem_version||=versiondep =Gem::Dependency.newgem_name,gem_versiondep.prerelease =options[:prerelease]suppress_suggestions =!options[:suggest_alternate]specs_and_sources,errors =Gem::SpecFetcher.fetcher.spec_for_dependencydepifplatformfiltered =specs_and_sources.select {|s,|s.platform==platform }specs_and_sources =filteredunlessfiltered.empty?endspec,source =specs_and_sources.max_by {|s,|s }ifspec.nil?show_lookup_failuregem_name,gem_version,errors,suppress_suggestions,options[:domain]exit_code|=2nextendsource.downloadspecsay"Downloaded #{spec.full_name}"endexit_codeend