method
execute
v1_9_3_392 -
Show latest stable
-
0 notes -
Class: FetchCommand
- 1_8_6_287
- 1_8_7_72
- 1_8_7_330
- 1_9_1_378
- 1_9_2_180
- 1_9_3_125 (0)
- 1_9_3_392 (0)
- 2_1_10 (0)
- 2_2_9 (0)
- 2_4_6 (0)
- 2_5_5 (0)
- 2_6_3 (0)
- What's this?
execute()
public
Hide source
# File lib/rubygems/commands/fetch_command.rb, line 35 def execute version = options[:version] || Gem::Requirement.default all = Gem::Requirement.default != version platform = Gem.platforms.last gem_names = get_all_gem_names gem_names.each do |gem_name| dep = Gem::Dependency.new gem_name, version dep.prerelease = options[:prerelease] specs_and_sources, errors = Gem::SpecFetcher.fetcher.fetch_with_errors(dep, all, true, dep.prerelease?) if platform then filtered = specs_and_sources.select { |s,| s.platform == platform } specs_and_sources = filtered unless filtered.empty? end spec, source_uri = specs_and_sources.sort_by { |s,| s.version }.last if spec.nil? then show_lookup_failure gem_name, version, errors, options[:domain] next end file = "#{spec.full_name}.gem" remote_path = URI.parse(source_uri) + "gems/#{file}" fetch = Gem::RemoteFetcher.fetcher gem = fetch.fetch_path remote_path.to_s File.open file, "wb" do |f| f.write gem end say "Downloaded #{spec.full_name}" end end