-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRakefile
30 lines (24 loc) · 839 Bytes
/
Rakefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
require 'bundler'
require 'bundler/gem_tasks'
def gem_server
@gem_server ||= ENV['GEM_SERVER'] || 'rubygems.org'
end
module Bundler
class GemHelper
unless gem_server == 'rubygems.org'
unless method_defined?(:rubygem_push)
raise NoMethodError, "Monkey patching Bundler::GemHelper#rubygem_push failed: did the Bundler API change???"
end
def rubygem_push(path)
print "Username: "
username = STDIN.gets.chomp
print "Password: "
password = STDIN.gets.chomp
gem_server_url = "https://#{username}:#{password}@#{gem_server}/"
sh %{gem push #{path} --host #{gem_server_url}}
Bundler.ui.confirm "Pushed #{name} #{version} to #{gem_server}"
end
puts "Monkey patched Bundler::GemHelper#rubygem_push to push to #{gem_server}."
end
end
end