1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Import rubygems 1.5.0 (release candidate)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ryan 2011-01-19 00:08:49 +00:00
parent d26fb035ca
commit e798ccbacf
173 changed files with 2721 additions and 2455 deletions

View file

@ -1,3 +1,9 @@
######################################################################
# This file is imported from the rubygems project.
# DO NOT make modifications in this repo. They _will_ be reverted!
# File a patch instead and assign it to Ryan Davis or Eric Hodel.
######################################################################
require 'rubygems/command'
require 'rubygems/local_remote_options'
require 'rubygems/gemcutter_utilities'
@ -21,6 +27,13 @@ class Gem::Commands::PushCommand < Gem::Command
def initialize
super 'push', description
add_proxy_option
add_option(
'--host HOST',
'Push to another gemcutter-compatible host'
) do |value, options|
options[:host] = value
end
end
def execute
@ -29,9 +42,13 @@ class Gem::Commands::PushCommand < Gem::Command
end
def send_gem name
say "Pushing gem to RubyGems.org..."
say "Pushing gem to #{options[:host] || Gem.host}..."
response = rubygems_api_request :post, "api/v1/gems" do |request|
args = [:post, "api/v1/gems"]
args << options[:host] if options[:host]
response = rubygems_api_request(*args) do |request|
request.body = Gem.read_binary name
request.add_field "Content-Length", request.body.size
request.add_field "Content-Type", "application/octet-stream"