pik 0.2.6 → 0.2.7
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +20 -0
- data/Manifest.txt +4 -1
- data/README.rdoc +40 -17
- data/Rakefile +68 -59
- data/bin/pik_install +42 -14
- data/features/add_command.feature +8 -8
- data/features/config_command.feature +1 -2
- data/features/default_command.feature +3 -3
- data/features/gemsync_command.feature +1 -1
- data/features/info_command.feature +62 -0
- data/features/install_command.feature +22 -17
- data/features/list_command.feature +5 -5
- data/features/pik_install.feature +34 -2
- data/features/remove_command.feature +2 -2
- data/features/run_command.feature +6 -5
- data/features/step_definitions/pik_commands.rb +21 -7
- data/features/support/env.rb +75 -0
- data/features/support/proxy.ru +81 -0
- data/features/switch_command.feature +14 -13
- data/features/tag_command.feature +5 -5
- data/features/uninstall_command.feature +5 -6
- data/features/version.feature +2 -1
- data/lib/pik.rb +13 -6
- data/lib/pik/commands/add_command.rb +13 -1
- data/lib/pik/commands/command.rb +6 -6
- data/lib/pik/commands/config_command.rb +4 -2
- data/lib/pik/commands/devkit_command.rb +69 -0
- data/lib/pik/commands/gemsync_command.rb +4 -2
- data/lib/pik/commands/help_command.rb +1 -1
- data/lib/pik/commands/info_command.rb +35 -14
- data/lib/pik/commands/install_command.rb +6 -11
- data/lib/pik/commands/list_command.rb +26 -7
- data/lib/pik/commands/uninstall_command.rb +4 -4
- data/lib/pik/contrib/uri_ext.rb +1 -1
- data/lib/pik/core_ext/pathname.rb +2 -2
- data/lib/pik/implementations.rb +51 -7
- data/lib/pik/version_parser.rb +8 -5
- data/spec/html/ruby.htm +61 -15
- data/spec/implementations_spec.rb +4 -4
- data/spec/pathname_spec.rb +12 -4
- data/spec/version_parser_spec.rb +9 -2
- data/tools/pik.bat +1 -1
- data/tools/pik/pik_runner +1 -1
- data/tools/pik/pik_runner.exe +0 -0
- data/tools/pik/pik_runner.exy +121 -114
- metadata +58 -15
- data/features/env.rb +0 -45
data/History.txt
CHANGED
@@ -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
|
data/Manifest.txt
CHANGED
@@ -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
|
data/README.rdoc
CHANGED
@@ -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
|
-
*
|
50
|
-
|
51
|
-
|
52
|
-
|
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
|
-
|
56
|
-
|
58
|
+
Successfully installed pik-0.2.6
|
59
|
+
1 gem installed
|
57
60
|
|
58
|
-
|
59
|
-
|
60
|
-
|
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
|
-
>
|
63
|
-
|
64
|
-
|
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
|
71
|
-
|
72
|
-
|
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)
|
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 '
|
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
|
-
|
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/
|
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/
|
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/
|
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
|
-
|
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 :
|
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
|
+
|
data/bin/pik_install
CHANGED
@@ -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
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
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
|
-
|
25
|
-
|
26
|
-
puts
|
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
|
17
|
-
Then I should see "Adding: 186: ruby 1.8.6 (
|
18
|
-
And I should see "Located at: C:\
|
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 (
|
22
|
-
When I run "pik add "C:\temp\more spaces in path\ruby\Ruby-186-
|
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\
|
33
|
-
Then I should see "Adding:
|
34
|
-
And I should see "Located at: C:\temp\more spaces in path\ruby\
|
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
|
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.
|
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.
|
11
|
-
And the path should point to "
|
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
|
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
|
+
"""
|