lib/packaging/gem.rb in packaging-0.99.71 vs lib/packaging/gem.rb in packaging-0.99.72

- old
+ new

@@ -1,31 +1,32 @@ require 'json' module Pkg::Gem class << self - # This is preserved because I don't want to update the deprecated code path - # yet; I'm not entirely sure I've fixed everything that might attempt - # to call this method so this is now a wrapper for a wrapper. def ship(file) rsync_to_downloads(file) ship_to_rubygems(file) end # Use rsync to deploy a file and any associated detached signatures, # checksums, or other glob-able artifacts to an external download server. def rsync_to_downloads(file) Pkg::Util.deprecate('Pkg::Gem.rsync_to_downloads', 'Pkg::Util::Ship.ship_pkgs') - Pkg::Util::Ship.ship_pkgs(["#{file}*"], Pkg::Config.gem_host, Pkg::Config.gem_path, platform_independent: true) + Pkg::Util::Ship.ship_pkgs(["#{file}*"], Pkg::Config.gem_host, + Pkg::Config.gem_path, platform_independent: true) end def shipped_to_rubygems?(gem_name, gem_version, gem_platform) - gem_data = JSON.parse(`curl https://rubygems.org/api/v1/versions/#{gem_name}.json`) - gem = gem_data.select { |data| data['number'] == gem_version && data['platform'] == gem_platform } + rubygems_url = "https://rubygems.org/api/v1/versions/#{gem_name}.json" + gem_data = JSON.parse(%x(curl --silent #{rubygems_url})) + gem = gem_data.select do |data| + data['number'] == gem_version && data['platform'] == gem_platform + end return !gem.empty? rescue => e - puts "Uh oh, something went wrong searching for gem '#{gem_name}':" + puts "Something went wrong searching for gem '#{gem_name}':" puts e - puts "Perhaps you're shipping gem '#{gem_name}' for the first time? Congrats!" + puts "Perhaps you're shipping '#{gem_name}' for the first time?" return false end # Ship a Ruby gem file to rubygems.org. Requires the existence # of a ~/.gem/credentials file or else rubygems.org won't have @@ -38,11 +39,11 @@ gem_platform = platform[1] end gem_platform ||= 'ruby' if shipped_to_rubygems?(Pkg::Config.gem_name, Pkg::Config.gemversion, gem_platform) - puts "#{file} has already been shipped to rubygems, skipping . . ." + puts "#{file} has already been shipped to rubygems, skipping." return end Pkg::Util::File.file_exists?("#{ENV['HOME']}/.gem/credentials", :required => true) gem_push_command = "gem push #{file}" gem_push_command << " --host #{options[:host]}" if options[:host] @@ -58,9 +59,12 @@ raise e end def ship_to_internal_mirror(file) internal_mirror_api_key_name = 'artifactory_api_key' - ship_to_rubygems(file, { :host => Pkg::Config.internal_gem_host, :key => internal_mirror_api_key_name }) + ship_to_rubygems(file, { + host: Pkg::Config.internal_gem_host, + key: internal_mirror_api_key_name + }) end end end