pik 0.2.6 → 0.2.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. data/History.txt +20 -0
  2. data/Manifest.txt +4 -1
  3. data/README.rdoc +40 -17
  4. data/Rakefile +68 -59
  5. data/bin/pik_install +42 -14
  6. data/features/add_command.feature +8 -8
  7. data/features/config_command.feature +1 -2
  8. data/features/default_command.feature +3 -3
  9. data/features/gemsync_command.feature +1 -1
  10. data/features/info_command.feature +62 -0
  11. data/features/install_command.feature +22 -17
  12. data/features/list_command.feature +5 -5
  13. data/features/pik_install.feature +34 -2
  14. data/features/remove_command.feature +2 -2
  15. data/features/run_command.feature +6 -5
  16. data/features/step_definitions/pik_commands.rb +21 -7
  17. data/features/support/env.rb +75 -0
  18. data/features/support/proxy.ru +81 -0
  19. data/features/switch_command.feature +14 -13
  20. data/features/tag_command.feature +5 -5
  21. data/features/uninstall_command.feature +5 -6
  22. data/features/version.feature +2 -1
  23. data/lib/pik.rb +13 -6
  24. data/lib/pik/commands/add_command.rb +13 -1
  25. data/lib/pik/commands/command.rb +6 -6
  26. data/lib/pik/commands/config_command.rb +4 -2
  27. data/lib/pik/commands/devkit_command.rb +69 -0
  28. data/lib/pik/commands/gemsync_command.rb +4 -2
  29. data/lib/pik/commands/help_command.rb +1 -1
  30. data/lib/pik/commands/info_command.rb +35 -14
  31. data/lib/pik/commands/install_command.rb +6 -11
  32. data/lib/pik/commands/list_command.rb +26 -7
  33. data/lib/pik/commands/uninstall_command.rb +4 -4
  34. data/lib/pik/contrib/uri_ext.rb +1 -1
  35. data/lib/pik/core_ext/pathname.rb +2 -2
  36. data/lib/pik/implementations.rb +51 -7
  37. data/lib/pik/version_parser.rb +8 -5
  38. data/spec/html/ruby.htm +61 -15
  39. data/spec/implementations_spec.rb +4 -4
  40. data/spec/pathname_spec.rb +12 -4
  41. data/spec/version_parser_spec.rb +9 -2
  42. data/tools/pik.bat +1 -1
  43. data/tools/pik/pik_runner +1 -1
  44. data/tools/pik/pik_runner.exe +0 -0
  45. data/tools/pik/pik_runner.exy +121 -114
  46. metadata +58 -15
  47. data/features/env.rb +0 -45
@@ -1,3 +1,23 @@
1
+
2
+ === 0.2.7 / 2010-06-15
3
+ * cleaner list output
4
+ * pik switch/use is no longer case sensitive
5
+ '>pik iron' vice '>pik Iron'
6
+ * created devkit implmentation (pik install devkit)
7
+ * created devkit update command (pik devkit update) creates batch files if you install
8
+ a newer version of ruby after devkit.
9
+ * added devkit config option, if you already have it installed:
10
+ >pik config devkit=c:\ruby\devkit
11
+ >pik devkit update
12
+ * fixed Implementations::IronRuby to catch newer versions, and ignore ipy packages
13
+ * improved pik_install instructions
14
+ * pik_install displays usage message when no argument is given
15
+ * fixed some bugs in info command
16
+ * fixed pik.bat to run in tcc/le
17
+ * removed RubyGems dependency ( the executable was causing weird errors with plugins)
18
+ * fixed Implementations::Ruby to catch RC1 7z files
19
+ * fixed regression in version option
20
+
1
21
  === 0.2.6 / 2009-11-08
2
22
 
3
23
  * deprecated checkup command in favor of info command
@@ -6,16 +6,18 @@ bin/pik_install
6
6
  features/add_command.feature
7
7
  features/config_command.feature
8
8
  features/default_command.feature
9
- features/env.rb
10
9
  features/gemsync_command.feature
11
10
  features/help_command.feature
12
11
  features/implode_command.feature
12
+ features/info_command.feature
13
13
  features/install_command.feature
14
14
  features/list_command.feature
15
15
  features/pik_install.feature
16
16
  features/remove_command.feature
17
17
  features/run_command.feature
18
18
  features/step_definitions/pik_commands.rb
19
+ features/support/env.rb
20
+ features/support/proxy.ru
19
21
  features/switch_command.feature
20
22
  features/tag_command.feature
21
23
  features/uninstall_command.feature
@@ -29,6 +31,7 @@ lib/pik/commands/command.rb
29
31
  lib/pik/commands/config_command.rb
30
32
  lib/pik/commands/config_file_editor.rb
31
33
  lib/pik/commands/default_command.rb
34
+ lib/pik/commands/devkit_command.rb
32
35
  lib/pik/commands/gemsync_command.rb
33
36
  lib/pik/commands/help_command.rb
34
37
  lib/pik/commands/implode_command.rb
@@ -44,32 +44,55 @@ Pik is a tool to manage multiple versions of ruby on Windows.
44
44
 
45
45
  Windows, more than one version of Ruby (otherwise, what's the point?) and Rubygems
46
46
 
47
+ * Build dependencies: exerb-mingw, highline, hpricot, crown, upx, wix
48
+
49
+ * Development dependencies: rake, cucumber, rspec, hoe, hoe-git, rack, rack-cache
50
+
47
51
  == INSTALL:
48
52
 
49
- * If you're upgrading from a version <= 0.1.1, you'll want to delete the pik.bat file
50
- from all of your ruby versions. Gem uninstall should do the trick.
51
-
52
- * Install pik to a location that's in your path, but someplace other than your ruby\bin dir
53
- If you're upgrading from a more recent version, pik_install will overwrite the older files as needed.
53
+ * install pik using rubygems.
54
+
55
+ >gem install pik
56
+ ...
54
57
 
55
- >path
56
- PATH=C:\tools\;C:\ruby\186-p368-mingw32\bin;C:\WINDOWS\system32;C:\WINDOWS
58
+ Successfully installed pik-0.2.6
59
+ 1 gem installed
57
60
 
58
- >pik_install C:\tools
59
-
60
- * If this is a first-time install, add all the versions of ruby that you want to use with pik
61
+ After the gem is installed, you can use the 'pik_install' script to install the pik executable. Install pik to a location that's in your path, but someplace other than your ruby\bin dir. For instance, the directory C:\bin is in my path:
62
+
63
+ >path
64
+ PATH=c:\bin;C:\Program Files\Windows Resource Kits\Tools\;c:\ruby\Ruby-186-p383\bin;
65
+
66
+ So I run:
61
67
 
62
- >pik add
63
- Adding: 186: ruby 1.8.6 (2009-03-31 patchlevel 368) [i386-mingw32]
64
- Located at: c:/ruby/186-p368-mingw32/bin
68
+ >pik_install C:\bin
69
+ Thank you for using pik.
70
+
71
+ Installing to C:\bin
72
+
73
+ ...
74
+
75
+ pik is installed
65
76
 
77
+ If you install to a directory that's not in your path, you'll need to add it to the path yourself. Microsoft has good instructions[http://support.microsoft.com/kb/310519] on that. After that, you should be ready to run pik.
78
+
79
+ * If this is a first-time install, look at pik add, and pik install to set up your environment.
80
+
66
81
  >pik add C:\ruby\IronRuby-091\bin
67
82
  Adding: 091: IronRuby 0.9.1.0 on .NET 2.0.0.0
68
83
  Located at: C:/ruby/IronRuby-091/bin
69
84
 
70
- >pik add C:\ruby\jruby-1.4.0RC1\bin
71
- Adding: 140: jruby 1.4.0RC1 (ruby 1.8.7 patchlevel 174) (2009-09-30 80c263b) (Java HotSpot(TM) Client VM 1.6.0_14) [x86-java]
72
- Located at: C:/ruby/jruby-1.4.0RC1/bin
85
+ >pik install ruby
86
+ ** Downloading: http://rubyforge.org/frs/download.php/66874/ruby-1.9.1-p243-i386-mingw32-rc1.7z
87
+ to: c:\installs\ruby-1.9.1-p243-i386-mingw32-rc1.7z
88
+
89
+ ...
90
+
91
+ * If you're upgrading from version 0.2.6, you should be able to upgrade with 'pik update'
92
+
93
+ * If you're upgrading from a version <= 0.1.1, you'll want to delete the pik.bat file
94
+ from all of your ruby versions. Gem uninstall should do the trick.
95
+
73
96
 
74
97
  Note:
75
98
 
@@ -207,7 +230,7 @@ pik run # there
207
230
 
208
231
  (The MIT License)
209
232
 
210
- Copyright (c) 2009 Gordon Thiesfeld
233
+ Copyright (c) 2010 Gordon Thiesfeld
211
234
 
212
235
  Permission is hereby granted, free of charge, to any person obtaining
213
236
  a copy of this software and associated documentation files (the
data/Rakefile CHANGED
@@ -2,11 +2,29 @@
2
2
 
3
3
  require 'rubygems'
4
4
  require 'rbconfig'
5
- require 'win32/process'
5
+ require 'uuid'
6
+ require 'hoe'
7
+
8
+ $LOAD_PATH.unshift('lib')
9
+ require 'pik'
10
+
11
+
12
+ EXE_VERSION = {
13
+ 'version' => {
14
+ 'file_version_number' => "#{Pik::VERSION}.0",
15
+ 'comments' => 'The Ruby version manager for Windows',
16
+ 'product_name' => 'Pik',
17
+ 'file_description' => 'Pik Runner',
18
+ 'original_filename' => 'pik_runner.exe'
19
+ }
20
+ }
21
+
6
22
 
7
23
  ENV['SPEC_OPTS']= '-O spec/spec.opts'
8
24
 
9
- file 'tools/pik/pik_runner.exy' do
25
+ lib = FileList["lib/**/*.rb"]
26
+
27
+ file 'tools/pik/pik_runner.exy', :needs => ['tools/pik/pik_runner'] + lib do
10
28
  Dir.chdir 'tools/pik' do
11
29
  sh('ruby -rexerb/mkexy pik_runner -v')
12
30
  end
@@ -16,24 +34,26 @@ file 'tools/pik/pik_runner.exy' do
16
34
  'type' => 'extension-library'
17
35
  }
18
36
  exy['file']['zlib1.dll'] = zlib1
37
+ exy['resource'] = EXE_VERSION
38
+
19
39
  File.open('tools/pik/pik_runner.exy', 'w+'){ |f| f.puts YAML.dump(exy) }
20
40
  end
21
41
 
22
- file 'tools/pik/pik.exe', :needs => ['tools/pik/pik_runner.exy'] do
42
+ file 'tools/pik/pik_runner.exe', :needs => ['tools/pik/pik_runner.exy'] do
23
43
  Dir.chdir 'tools/pik' do
24
44
  sh('ruby -S exerb pik_runner.exy')
25
45
  sh('upx -9 pik_runner.exe') unless ENV['QUICK']
26
46
  end
27
47
  end
28
48
 
29
- task :build, :needs => 'tools/pik/pik.exe'
49
+ task :build, :needs => 'tools/pik/pik_runner.exe'
30
50
 
31
51
  task :install, :needs => :build do
32
52
  sh('ruby bin/pik_install C:\\bin')
33
53
  end
34
54
 
35
55
  task :clobber_exe do
36
- rm_rf 'tools/pik/pik.exe'
56
+ rm_rf 'tools/pik/pik_runner.exe'
37
57
  end
38
58
 
39
59
  task :clobber_exy, :needs => :clobber_exe do
@@ -45,10 +65,6 @@ task :reinstall, :needs => [:clobber_exy, :install]
45
65
 
46
66
  task :package => :rebuild
47
67
 
48
- require 'hoe'
49
-
50
- $LOAD_PATH.unshift('lib')
51
- require 'pik'
52
68
 
53
69
  Hoe.plugin :git
54
70
 
@@ -98,61 +114,54 @@ end
98
114
  require 'cucumber'
99
115
  require 'cucumber/rake/task'
100
116
 
101
- namespace :cucumber do
117
+ @dir = Pathname(File.dirname(__FILE__))
118
+ @test_versions = {
119
+ 'JRuby' => ['1.5.1'],
120
+ 'IronRuby' => ['0.9.2'],
121
+ 'Ruby' => [
122
+ '1.9.1-p378-1',
123
+ '1.8.6-p398-2',
124
+ '1.8.7-p249-1'
125
+ ]
126
+ }
102
127
 
103
- directory "C:/temp"
104
-
105
- desc "sets up C:\\temp for pik's cuke tests"
106
- task :setup => "C:/temp" do
107
- ENV['HOME'] = "C:\\temp"
108
- sh "pik config installs=\"C:\\temp\\more spaces in path\\ruby\""
109
- sh "pik install jruby"
110
- sh "pik install ironruby"
111
- sh "pik install ruby"
112
- sh "pik install ruby 1.8"
113
- sh "pik gem in rake"
114
- end
115
-
116
- namespace :phonyweb do
117
-
118
- task :start => 'hosts:add' do
119
- @web = Process.create(:app_name => "ruby C:\\scripts\\repo\\pik\\phony_web\\server.rb")
120
- end
121
-
122
- task :kill => 'hosts:remove' do
123
- Process.kill(3, @web.process_id)
124
- end
125
- end
126
-
127
- # this is used with the phony web server for
128
- # testing the install and list command
129
- # without sucking up bandwidth. It also makes the
130
- # tests run faster
131
- namespace :hosts do
132
-
133
- HOSTS = File.join(ENV['SystemRoot'], 'System32','drivers','etc','hosts')
134
- desc "adds fake hosts to system's hosts file"
135
- task :add do
136
- File.open(HOSTS,'a+'){|f|
137
- f.puts "127.0.0.1 www.jruby.org rubyforge.org www.rubyforge.org jruby.kenai.com dist.codehaus.org"
138
- }
139
- end
140
-
141
- desc "remove fake hosts from system's hosts file"
142
- task :remove do
143
- new_hosts = File.open(HOSTS, 'r').readlines.reject{ |i| i =~ /^127\.0\.0\.1 www\.jruby\.org/ }
144
- File.open(HOSTS, 'w+'){|f| f.puts new_hosts }
145
- end
146
-
147
- task :rm => :remove
148
-
149
- end
150
- end
151
128
 
152
129
  Cucumber::Rake::Task.new(:features) do |t|
153
130
  t.cucumber_opts = "features -f html -o ../pik_cucumber.html -f progress"
154
131
  end
155
132
 
156
- task :cuke => ['cucumber:phonyweb:start', :features, 'cucumber:phonyweb:kill']
133
+ task :guid do
134
+ puts
135
+ puts UUID.new.generate.upcase
136
+ end
137
+
138
+ directory 'pkg'
139
+
140
+ @package = 'pik'
141
+
142
+ msi_file = "pkg/#{@package}-#{Pik::VERSION}.msi"
143
+ file msi_file, :needs => 'tools/pik/pik_runner.exe'
144
+
145
+ task :installer, :needs => [msi_file, :light]
146
+
147
+ task :build_env do
148
+ ENV['PATH'] = "#{ENV['ProgramFiles(x86)']}\\Windows Installer XML v3.5\\bin;#{ENV['PATH']}"
149
+ end
150
+
151
+ task :candle, :needs => [:build_env] do
152
+ chdir 'lib/installer/' do
153
+ wxs_files = ["MyInstallDirDialog.wxs",'WixUI_MyInstallDir.wxs' , "#{@package}.wxs"].join(' ')
154
+ # wxs_files = ["#{@package}.wxs"].join(' ')
155
+ sh("candle -nologo #{wxs_files}")
156
+ end
157
+ end
157
158
 
159
+ task :light, :needs => :candle do
160
+ chdir 'lib/installer/' do
161
+ wixobj_files = ["MyInstallDirDialog.wixobj", 'WixUI_MyInstallDir.wixobj', "#{@package}.wixobj"].join(' ')
162
+ # wixobj_files = ["#{@package}.wixobj"].join(' ')
163
+ sh("light -nologo -ext WixUtilExtension -ext WixUIExtension #{wixobj_files} -o ../../#{msi_file}")
164
+ end
165
+ end
158
166
  # vim: syntax=Ruby
167
+
@@ -4,24 +4,52 @@ require 'fileutils'
4
4
 
5
5
  include FileUtils
6
6
 
7
+ usage =<<USAGE
8
+ Usage: pik_install path\\to\\install
9
+
10
+ You should install to a directory that is in your system path,
11
+ or add the directory to your system path. Do not install to
12
+ your ruby's bin directory because pik will remove it from the
13
+ path when switching versions.
14
+
15
+ Example:
16
+
17
+ C:\\>path
18
+
19
+ PATH=C:\\tools;C:\\ruby\\Ruby-186-p383\\bin;C:\\WINDOWS\\system32;...
20
+
21
+ C:\\>pik_install C:\\tools
22
+
23
+ USAGE
24
+ abort usage unless ARGV.first
25
+
7
26
  puts "Thank you for using pik.\n\n"
8
27
 
9
28
  install_dir = ARGV.first
10
29
  tools_dir = File.join(File.dirname(__FILE__), '..', 'tools')
11
30
 
12
- if File.directory?(install_dir)
13
- puts "Installing to #{install_dir}\n\n"
14
- cp File.join(tools_dir, 'pik.bat'), install_dir ,
15
- :verbose => true
16
- mkdir_p File.join(install_dir, 'pik'), :verbose => true
17
- cp File.join(tools_dir, 'pik', 'pik_runner.exe'),
18
- File.join(install_dir, 'pik') ,
19
- :verbose => true
20
-
21
- old_exe = File.join(install_dir, 'pik', 'pik.exe')
22
- rm(old_exe, :verbose => true) if File.exist?(old_exe)
31
+ puts "Installing to #{install_dir}\n\n"
32
+ cp File.join(tools_dir, 'pik.bat'), install_dir ,
33
+ :verbose => true
34
+
35
+ mkdir_p File.join(install_dir, 'pik'), :verbose => true
36
+ cp File.join(tools_dir, 'pik', 'pik_runner.exe'),
37
+ File.join(install_dir, 'pik') ,
38
+ :verbose => true
39
+
40
+ puts "\npik is installed"
41
+
42
+ unless ENV['PATH'].downcase.include?( install_dir.downcase.gsub('/',"\\") )
43
+
44
+ system_path_msg =<<SYSTEM_PATH_MSG
45
+
46
+ The directory you installed to is not in the sytem path.
47
+ #{install_dir}
48
+
49
+ You will need to add it.
23
50
 
24
- puts "\npik is installed"
25
- else
26
- puts "#{install_dir} is not a directory. pik was not installed."
51
+ SYSTEM_PATH_MSG
52
+
53
+ puts system_path_msg
54
+
27
55
  end
@@ -13,13 +13,13 @@ Feature: add command
13
13
 
14
14
  Scenario: add a version
15
15
  Given I have an empty config.yml
16
- When I run "pik add C:\ruby\186-p368-mingw32\bin"
17
- Then I should see "Adding: 186: ruby 1.8.6 (2009-03-31 patchlevel 368) [i386-mingw32]"
18
- And I should see "Located at: C:\ruby\186-p368-mingw32\bin"
16
+ When I run "pik add c:\bin\Pik\Ruby-186-p398\bin"
17
+ Then I should see "Adding: 186: ruby 1.8.6 (2010-02-04 patchlevel 398) [i386-mingw32]"
18
+ And I should see "Located at: C:\bin\Pik\Ruby-186-p398\bin"
19
19
 
20
20
  Scenario: add a version that has already been added
21
- Given I have already added "ruby 1.8.6 (2009-08-04 patchlevel 383) [i386-mingw32]"
22
- When I run "pik add "C:\temp\more spaces in path\ruby\Ruby-186-p383\bin""
21
+ Given I have already added "ruby 1.8.6 (2010-02-04 patchlevel 398) [i386-mingw32]"
22
+ When I run "pik add "C:\temp\more spaces in path\ruby\Ruby-186-p398-2\bin""
23
23
  Then I should see "This version has already been added."
24
24
  And nothing should be added to the config file.
25
25
 
@@ -29,8 +29,8 @@ Feature: add command
29
29
 
30
30
  Scenario: add a version with spaces in the path.
31
31
  Given I have an empty config.yml
32
- When I run "pik add "C:\temp\more spaces in path\ruby\jruby-140RC2\bin""
33
- Then I should see "Adding: 140: jruby 1.4.0RC2 (ruby 1.8.7 patchlevel 174)"
34
- And I should see "Located at: C:\temp\more spaces in path\ruby\jruby-140RC2\bin"
32
+ When I run "pik add "C:\temp\more spaces in path\ruby\JRuby-151\bin""
33
+ Then I should see "Adding: 151: jruby 1.5.1 (ruby 1.8.7 patchlevel 249)"
34
+ And I should see "Located at: C:\temp\more spaces in path\ruby\JRuby-151\bin"
35
35
 
36
36
 
@@ -5,8 +5,7 @@ Feature: config command
5
5
  That allows her to configure pik's behavior.
6
6
 
7
7
  Scenario: config gem_home
8
- Given I have already added "ruby 1.8.6 (2009-08-04 patchlevel 383) [i386-mingw32]"
9
- And I am currently using it.
8
+ Given I am currently using "ruby 1.8.6 (2010-02-04 patchlevel 398) [i386-mingw32]"
10
9
  When I run "pik config gem_home default"
11
10
  Then a gem_home option should be added to the config.
12
11
 
@@ -5,7 +5,7 @@ Feature: default command
5
5
  That allows her to switch back to the system defined version.
6
6
 
7
7
  Scenario: switching to the default version
8
- Given I am currently using "ruby 1.9.1p243 (2009-07-16 revision 24175) [i386-mingw32]"
8
+ Given I am currently using "ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-mingw32]"
9
9
  When I run "pik default -v" and check the path
10
- Then I should see "ruby 1.8.6 (2009-08-04 patchlevel 383) [i386-mingw32]"
11
- And the path should point to "c:\ruby\Ruby-186-p383\bin"
10
+ Then I should see "ruby 1.8.7 (2010-01-10 patchlevel 249) [i386-mingw32]"
11
+ And the path should point to "C:\Ruby\ruby-187-p249\bin"
@@ -12,7 +12,7 @@ Feature: gemsync command
12
12
  And I should see "Installing hoe"
13
13
 
14
14
  Scenario: attempt to sync to different platform
15
- When I run "pik Ir 91" and "pik gemsync 186 mi -q -d",
15
+ When I run "pik iron" and "pik gemsync 186 mi -q -d",
16
16
  Then I should see "You appear to be attempting a gemsync from a different platform."
17
17
 
18
18
 
@@ -0,0 +1,62 @@
1
+ Feature: info command
2
+ In order to add ruby versions to pik
3
+ A developer
4
+ Wants a command line interface
5
+ So that she can add versions.
6
+
7
+ Scenario: Info command
8
+ When I run "pik info"
9
+ Then I should see
10
+ """
11
+ ruby:
12
+ interpreter: "ruby"
13
+ version: "1.8.6"
14
+ date: "2010-02-04"
15
+ platform: "i386-mingw32"
16
+ patchlevel: "398"
17
+ full_version: "ruby 1.8.6 (2010-02-04 patchlevel 398) [i386-mingw32]"
18
+
19
+ homes:
20
+ gem: "C:\temp\more spaces in path\ruby\Ruby-186-p398-2\lib\ruby\gems\1.8"
21
+ ruby: "C:\temp\more spaces in path\ruby\Ruby-186-p398-2"
22
+
23
+ binaries:
24
+ ruby: "C:\temp\more spaces in path\ruby\Ruby-186-p398-2\bin"
25
+ irb: "C:\temp\more spaces in path\ruby\Ruby-186-p398-2\bin\irb.bat"
26
+ gem: "C:\temp\more spaces in path\ruby\Ruby-186-p398-2\bin\gem.bat"
27
+ rake: "C:\temp\more spaces in path\ruby\Ruby-186-p398-2\bin\rake.bat"
28
+
29
+ environment:
30
+ GEM_HOME: ""
31
+ HOME: "C:\temp\path with spaces"
32
+ IRBRC: ""
33
+ RUBYOPT: "-rubygems"
34
+
35
+ file associations:
36
+ .rb: "C:\Ruby\ruby-187-p249\bin\ruby.exe" "%1" %*
37
+ .rbw: "C:\Ruby\ruby-187-p249\bin\rubyw.exe" "%1" %*
38
+ """
39
+
40
+
41
+ Scenario: No ruby in path
42
+ Given there is no ruby version in the path
43
+ When I run "pik info"
44
+ Then I should see
45
+ """
46
+
47
+ Pik info will not work unless there is a version of ruby in the path.
48
+
49
+ You can use pik switch to add one.
50
+
51
+ """
52
+
53
+ Scenario: Multiple rubies in path
54
+ Given there is more than one ruby version in the path
55
+ When I run "pik info"
56
+ Then I should see
57
+ """
58
+
59
+ warning: There is more than one version of ruby in the system path
60
+ C:\temp\more spaces in path\ruby\Ruby-191-p378-1\bin
61
+ C:\temp\more spaces in path\ruby\Ruby-186-p398-2\bin
62
+ """