/
update_rubygems
executable file
·38 lines (33 loc) · 1017 Bytes
/
update_rubygems
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
31
32
33
34
35
36
37
38
#!/usr/bin/env ruby
#--
# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
# All rights reserved.
# See LICENSE.txt for permissions.
#++
require 'rubygems'
if ARGV.include? '-h' or ARGV.include? '--help' then
puts "rubygems_update [options]"
puts
puts "This will install the latest version of RubyGems."
puts
puts "\t--version=X.Y\tUpdate rubygems from the X.Y version."
exit
end
unless ARGV.grep(/--version=([\d\.]*)/).empty? then
exec "#{Gem.ruby} -S #{$PROGRAM_NAME} _#{$1}_"
end
update_dir = $LOAD_PATH.find { |fn| fn =~ /rubygems-update/ }
if update_dir.nil?
puts "Error: Cannot find RubyGems Update Path!"
puts
puts "RubyGems has already been updated."
puts "The rubygems-update gem may now be uninstalled."
puts "E.g. gem uninstall rubygems-update"
else
update_dir = File.dirname(update_dir)
Dir.chdir update_dir
update_dir =~ /([0-9.]*)$/
RGVERSION = $1
puts "Installing RubyGems #{RGVERSION}"
system "#{Gem.ruby} setup.rb #{ARGV.join(' ')}"
end