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 method
Gem::Command::newPublic 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