Report abuse

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
#sazwqa

# find installed ruby
Dir.chdir("C:/")
versions = Dir.glob("ruby*")[1..-1]
versions.each{|v| v.gsub!('ruby','')}
current_version = `ruby -v`
current_version_suffix = current_version.split[1].gsub('.','')
# handle mingw
if current_version =~ /mingw/
  current_version_suffix = 'win'
end

# generate menu
puts("current version: " + `ruby -v`)
puts("Installed ruby versions:")
versions.each_with_index { |v, i| p("#{i+1}. #{v}") }
print("Select number to change version, or enter to exit: ")  
choice = gets.chop!
exit if choice.empty?

# rename
File.rename('c:\ruby', "ruby"+current_version_suffix)
File.rename("ruby"+versions[choice.to_i-1], 'c:\ruby')
puts("\n") if current_version_suffix =~ /19/ # for ruby 1.9
puts("changed version: " + `ruby -v`)