pik 0.2.6 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
+
"""
|