pik 0.2.2 → 0.2.3
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 +14 -1
- data/Manifest.txt +9 -4
- data/README.rdoc +15 -13
- data/Rakefile +77 -13
- data/bin/pik_install +9 -5
- data/features/add_command.feature +3 -3
- data/features/env.rb +5 -5
- data/features/install_command.feature +17 -0
- data/features/list_command.feature +10 -1
- data/features/switch_command.feature +2 -2
- data/features/tag_command.feature +5 -0
- data/lib/pik.rb +5 -2
- data/lib/pik/commands/command.rb +1 -1
- data/lib/pik/commands/config_command.rb +3 -0
- data/lib/pik/commands/help_command.rb +1 -1
- data/lib/pik/commands/install_command.rb +15 -50
- data/lib/pik/commands/list_command.rb +18 -1
- data/lib/pik/commands/run_command.rb +41 -8
- data/lib/pik/commands/tag_command.rb +19 -0
- data/lib/pik/config_file.rb +2 -1
- data/lib/pik/core_ext/pathname.rb +2 -2
- data/lib/pik/implementations.rb +104 -0
- data/lib/pik/pik.rb +10 -0
- data/lib/pik/search_path.rb +5 -1
- data/spec/help_command_spec.rb +1 -22
- data/spec/html/ironruby.htm +378 -0
- data/spec/html/jruby.htm +186 -0
- data/spec/html/ruby.htm +358 -0
- data/spec/implementations_spec.rb +157 -0
- data/spec/list_command_spec.rb +0 -10
- data/spec/search_path_spec.rb +10 -8
- data/tools/pik.bat +1 -1
- data/tools/pik/{pik → pik_runner} +1 -3
- data/tools/pik/{pik.exe → pik_runner.exe} +0 -0
- data/tools/pik/{pik.exy → pik_runner.exy} +15 -5
- metadata +32 -16
- data/lib/pik/runner.rb +0 -16
@@ -5,9 +5,21 @@ module Pik
|
|
5
5
|
aka :ls
|
6
6
|
it "Lists ruby versions that pik is aware of."
|
7
7
|
|
8
|
-
attr_reader :verbose
|
8
|
+
attr_reader :verbose, :remote
|
9
9
|
|
10
10
|
def execute
|
11
|
+
if remote
|
12
|
+
remote_list
|
13
|
+
else
|
14
|
+
list
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def remote_list
|
19
|
+
puts Implementations.list.to_yaml
|
20
|
+
end
|
21
|
+
|
22
|
+
def list
|
11
23
|
current_path = Which::Ruby.find
|
12
24
|
config.sort.each do |name, conf|
|
13
25
|
name += ' *' if current_path == conf[:path]
|
@@ -28,6 +40,11 @@ module Pik
|
|
28
40
|
) do |value|
|
29
41
|
@verbose = value
|
30
42
|
end
|
43
|
+
@options.on("--remote", "-r",
|
44
|
+
"List remote install packages"
|
45
|
+
) do |value|
|
46
|
+
@remote = value
|
47
|
+
end
|
31
48
|
end
|
32
49
|
|
33
50
|
end
|
@@ -6,11 +6,17 @@ module Pik
|
|
6
6
|
|
7
7
|
def execute
|
8
8
|
@config.sort.each do |version,hash|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
9
|
+
begin
|
10
|
+
switch_path_to(hash)
|
11
|
+
switch_gem_home_to(hash[:gem_home])
|
12
|
+
echo_ruby_version(hash[:path])
|
13
|
+
system command
|
14
|
+
puts
|
15
|
+
rescue => e
|
16
|
+
version = version.split(': ')[1..-1].join(': ')
|
17
|
+
puts version
|
18
|
+
Pik.print_error(e)
|
19
|
+
end
|
14
20
|
end
|
15
21
|
end
|
16
22
|
|
@@ -19,17 +25,21 @@ module Pik
|
|
19
25
|
"#{cmd} #{args}"
|
20
26
|
end
|
21
27
|
|
28
|
+
|
22
29
|
def command_options
|
23
30
|
super
|
31
|
+
options.separator help_message
|
32
|
+
end
|
33
|
+
|
34
|
+
def help_message
|
24
35
|
sep =<<SEP
|
25
36
|
Examples:
|
26
37
|
|
27
|
-
C:\\>pik run
|
38
|
+
C:\\>pik run PATH
|
28
39
|
|
29
|
-
C:\\>pik run
|
40
|
+
C:\\>pik run rake spec
|
30
41
|
|
31
42
|
SEP
|
32
|
-
options.separator sep
|
33
43
|
end
|
34
44
|
|
35
45
|
def parse_options
|
@@ -67,6 +77,7 @@ SEP
|
|
67
77
|
|
68
78
|
def echo_ruby_version(path)
|
69
79
|
rb = Which::Ruby.exe(path)
|
80
|
+
raise "Unable to find a Ruby executable at #{path}" unless rb
|
70
81
|
puts `"#{rb}" -v `
|
71
82
|
end
|
72
83
|
|
@@ -80,6 +91,17 @@ SEP
|
|
80
91
|
def command(cmd=Which::Ruby.exe.basename)
|
81
92
|
super(cmd)
|
82
93
|
end
|
94
|
+
|
95
|
+
def help_message
|
96
|
+
sep =<<SEP
|
97
|
+
Examples:
|
98
|
+
|
99
|
+
C:\\>pik ruby -v
|
100
|
+
|
101
|
+
C:\\>pik rb -e "puts 'Hello world!'"
|
102
|
+
|
103
|
+
SEP
|
104
|
+
end
|
83
105
|
|
84
106
|
end
|
85
107
|
|
@@ -91,6 +113,17 @@ SEP
|
|
91
113
|
super(cmd)
|
92
114
|
end
|
93
115
|
|
116
|
+
def help_message
|
117
|
+
sep =<<SEP
|
118
|
+
Examples:
|
119
|
+
|
120
|
+
C:\\>pik gem list
|
121
|
+
|
122
|
+
C:\\>pik gem install my_gem
|
123
|
+
|
124
|
+
SEP
|
125
|
+
end
|
126
|
+
|
94
127
|
end
|
95
128
|
|
96
129
|
end
|
@@ -8,6 +8,8 @@ module Pik
|
|
8
8
|
config.global[:tags] ||= Hash.new{|h,k| h[k] = [] }
|
9
9
|
@tag_config = config.dup
|
10
10
|
@tag_config.clear
|
11
|
+
abort self.class.description if @args.empty?
|
12
|
+
|
11
13
|
tags = @args.shift.split(',')
|
12
14
|
tags.each do |tag|
|
13
15
|
versions = config.global[:tags][tag]
|
@@ -33,6 +35,23 @@ module Pik
|
|
33
35
|
def parse_options
|
34
36
|
end
|
35
37
|
|
38
|
+
def command_options
|
39
|
+
super
|
40
|
+
sep =<<SEP
|
41
|
+
The tags command allows you to run a subset of versions.
|
42
|
+
It should be used in conjunction with the run, ruby, or gems commands.
|
43
|
+
Multpile tags can be given in a comma separated (no spaces) list.
|
44
|
+
|
45
|
+
Examples:
|
46
|
+
|
47
|
+
C:\\>pik tags jruby run ruby -v
|
48
|
+
|
49
|
+
C:\\>pik tags mingw,jruby gem install my_gem
|
50
|
+
|
51
|
+
SEP
|
52
|
+
options.separator sep
|
53
|
+
end
|
54
|
+
|
36
55
|
end
|
37
56
|
|
38
57
|
class Tag < Command
|
data/lib/pik/config_file.rb
CHANGED
@@ -8,13 +8,14 @@ module Pik
|
|
8
8
|
|
9
9
|
def initialize
|
10
10
|
@file = File.join(PIK_HOME, 'config.yml')
|
11
|
+
@global = {}
|
11
12
|
super
|
12
13
|
if File.exists? @file
|
13
14
|
contents = File.read( @file )
|
14
15
|
unless contents.empty?
|
15
16
|
documents = YAML.load_stream( contents )
|
16
17
|
self.update( documents[0] )
|
17
|
-
@global
|
18
|
+
@global.update( documents[1] ) if documents[1]
|
18
19
|
end
|
19
20
|
end
|
20
21
|
end
|
@@ -0,0 +1,104 @@
|
|
1
|
+
require 'open-uri'
|
2
|
+
|
3
|
+
module Pik
|
4
|
+
|
5
|
+
module Implementations
|
6
|
+
|
7
|
+
def self.[](implementation)
|
8
|
+
self.send(implementation.downcase)
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.ruby
|
12
|
+
Ruby.new
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.ironruby
|
16
|
+
IronRuby.new
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.jruby
|
20
|
+
JRuby.new
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.method_missing(meth)
|
24
|
+
raise "Pik isn't aware of an implementation called '#{meth}' for Windows."
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.list
|
28
|
+
h = {}
|
29
|
+
[ruby, jruby, ironruby].each{|i| h[i.subclass] = i.versions }
|
30
|
+
h
|
31
|
+
end
|
32
|
+
|
33
|
+
class Base
|
34
|
+
|
35
|
+
def self.find(*args)
|
36
|
+
new.find(*args)
|
37
|
+
end
|
38
|
+
|
39
|
+
def initialize
|
40
|
+
@url = 'http://rubyforge.org'
|
41
|
+
end
|
42
|
+
|
43
|
+
def find(*args)
|
44
|
+
if args.empty?
|
45
|
+
return most_recent
|
46
|
+
else
|
47
|
+
pattern = Regexp.new(Regexp.escape(args.first))
|
48
|
+
versions.select{|v,k| v =~ pattern }.max
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def most_recent(vers=versions)
|
53
|
+
vers.max
|
54
|
+
end
|
55
|
+
|
56
|
+
def versions
|
57
|
+
vers = read.scan(@re).map{|v| v.reverse}
|
58
|
+
vers.map!{ |name, path| [name, @url + path] }.flatten!
|
59
|
+
Hash[*vers]
|
60
|
+
end
|
61
|
+
|
62
|
+
def read
|
63
|
+
uri = URI.parse(@url+@path)
|
64
|
+
uri.read
|
65
|
+
end
|
66
|
+
|
67
|
+
def subclass
|
68
|
+
self.class.to_s.split('::').last
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
72
|
+
|
73
|
+
class Ruby < Base
|
74
|
+
|
75
|
+
def initialize
|
76
|
+
super
|
77
|
+
@path = "/frs/?group_id=167"
|
78
|
+
@re = /\"(.+ruby\-(.+)\-i386\-mingw32\.7z)\"/
|
79
|
+
end
|
80
|
+
|
81
|
+
end
|
82
|
+
|
83
|
+
class IronRuby < Base
|
84
|
+
|
85
|
+
def initialize
|
86
|
+
super
|
87
|
+
@path = "/frs/?group_id=4359"
|
88
|
+
@re = /\"(.+ironruby\-(\d\.\d\.\d)\.zip)\"/
|
89
|
+
end
|
90
|
+
|
91
|
+
end
|
92
|
+
|
93
|
+
class JRuby < Base
|
94
|
+
|
95
|
+
def initialize
|
96
|
+
@url = ''
|
97
|
+
@path = "http://www.jruby.org/download"
|
98
|
+
@re = /\<p.*\>\<a .*href\=\"(.+ruby-bin\-(.+)\.zip)\"/
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
end
|
103
|
+
|
104
|
+
end
|
data/lib/pik/pik.rb
ADDED
data/lib/pik/search_path.rb
CHANGED
@@ -34,11 +34,15 @@ class SearchPath
|
|
34
34
|
|
35
35
|
def add(new_path)
|
36
36
|
new_path = Pathname(new_path)
|
37
|
-
@path
|
37
|
+
@path.unshift new_path.to_windows.to_s
|
38
38
|
self
|
39
39
|
end
|
40
40
|
|
41
41
|
def replace_or_add(old_path, new_path)
|
42
|
+
if old_path.nil?
|
43
|
+
add(new_path)
|
44
|
+
return self
|
45
|
+
end
|
42
46
|
old_path = Pathname(old_path)
|
43
47
|
new_path = Pathname(new_path)
|
44
48
|
return self if old_path == new_path
|
data/spec/help_command_spec.rb
CHANGED
@@ -1,30 +1,9 @@
|
|
1
1
|
|
2
2
|
describe Pik::Help do
|
3
3
|
|
4
|
-
before do
|
5
|
-
@cmd = 'tools\\pik.bat'
|
6
|
-
end
|
7
|
-
|
8
4
|
it "should have a summary" do
|
9
5
|
Pik::Help.summary.should eql("Displays help information.")
|
10
6
|
end
|
11
|
-
|
12
|
-
it "should display when no commands are given" do
|
13
|
-
cmd = `#{@cmd}`
|
14
|
-
msg = ["Usage: pik command [options]",
|
15
|
-
"To get help with a command",
|
16
|
-
" pik help (command)",
|
17
|
-
"To list all commands and descriptions:",
|
18
|
-
" pik help commands"].join("\n\n")
|
19
|
-
|
20
|
-
cmd.should include(msg)
|
21
|
-
end
|
22
|
-
|
23
|
-
it "should display all commands when 'help commands' is given " do
|
24
|
-
cmd = `#{@cmd} help commands`
|
25
|
-
|
26
|
-
cmd.should include(" help Displays help information.")
|
27
|
-
cmd.should include("For help on a particular command, use 'pik help COMMAND'")
|
28
|
-
end
|
7
|
+
|
29
8
|
|
30
9
|
end
|
@@ -0,0 +1,378 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en ">
|
7
|
+
|
8
|
+
<head>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
10
|
+
<meta name='author' content="Bruce Williams (http://codefluency.com), for
|
11
|
+
Ruby Central (http://rubycentral.org)">
|
12
|
+
<title>RubyForge: IronRuby: Project Filelist</title>
|
13
|
+
<link rel="alternate" type="application/rss+xml" title="Recent gems" href="http://gems.rubyforge.org/index.rss" />
|
14
|
+
<link rel="alternate" type="text/xml" title="RSS" href="http://rubyforge.org/export/rss_sfnews.php"/>
|
15
|
+
<link rel="Shortcut Icon" href="http://static.rubyforge.vm.bytemark.co.uk/themes/rubyforge/images/favicon.ico"/>
|
16
|
+
<script language="JavaScript" type="text/javascript">
|
17
|
+
<!--
|
18
|
+
function help_window(helpurl) {
|
19
|
+
HelpWin = window.open( 'http://rubyforge.org' + helpurl,'HelpWindow','scrollbars=yes,resizable=yes,toolbar=no,height=400,width=400');
|
20
|
+
}
|
21
|
+
// -->
|
22
|
+
</script>
|
23
|
+
|
24
|
+
<style type="text/css">
|
25
|
+
<!--
|
26
|
+
|
27
|
+
body {
|
28
|
+
margin: 0px;
|
29
|
+
background: #fff;
|
30
|
+
}
|
31
|
+
|
32
|
+
OL,UL,P,BODY,TR,TD,TH,FORM {
|
33
|
+
font-family: Lucida Grande,verdana,arial,helvetica,sans-serif;
|
34
|
+
font-size:13px;
|
35
|
+
color: #202020;
|
36
|
+
}
|
37
|
+
|
38
|
+
HR { margin: 2px 0px 2px 0px }
|
39
|
+
|
40
|
+
|
41
|
+
H1 { font-size: x-large; font-family: Lucida Grande,verdana,arial,helvetica,sans-serif; }
|
42
|
+
H2 { font-size: large; font-family: Lucida Grande,verdana,arial,helvetica,sans-serif; }
|
43
|
+
H3 { font-size: medium; font-family: Lucida Grande,verdana,arial,helvetica,sans-serif; }
|
44
|
+
H4 { font-size: small; font-family: Lucida Grande,verdana,arial,helvetica,sans-serif; }
|
45
|
+
H5 { font-size: x-small; font-family: Lucida Grande,verdana,arial,helvetica,sans-serif; }
|
46
|
+
H6 { font-size: xx-small; font-family: Lucida Grande,verdana,arial,helvetica,sans-serif; }
|
47
|
+
|
48
|
+
PRE,TT { font-family: 'Bitstream Vera Sans Mono',courier,sans-serif }
|
49
|
+
a {
|
50
|
+
color: #cc3333;
|
51
|
+
text-decoration: none;
|
52
|
+
}
|
53
|
+
a img {
|
54
|
+
border: 0px;
|
55
|
+
}
|
56
|
+
table em {
|
57
|
+
font-style: normal;
|
58
|
+
font-weight: bold;
|
59
|
+
color: #666;
|
60
|
+
margin-left: 0px;
|
61
|
+
}
|
62
|
+
hr { /* unfortunately hrs are hardcoded */
|
63
|
+
height: 2px;
|
64
|
+
color: #e6e6e6;
|
65
|
+
background: #e6e6e6;
|
66
|
+
border: 0px;
|
67
|
+
}
|
68
|
+
td hr {
|
69
|
+
margin-top: 0.5em;
|
70
|
+
margin-bottom: 0.5em;
|
71
|
+
}
|
72
|
+
#header {
|
73
|
+
height: 79px;
|
74
|
+
background: #fff url(http://static.rubyforge.vm.bytemark.co.uk/themes/rubyforge/images/header-bg.png) bottom left repeat-x;
|
75
|
+
margin: 0px;
|
76
|
+
}
|
77
|
+
#header-right {
|
78
|
+
position: absolute;
|
79
|
+
top: 0px;
|
80
|
+
right: 0px;
|
81
|
+
width: 40%;
|
82
|
+
}
|
83
|
+
#search {
|
84
|
+
margin: 10px;
|
85
|
+
}
|
86
|
+
#controls {
|
87
|
+
padding: 0px;
|
88
|
+
height: 20px;
|
89
|
+
line-height: 20px;
|
90
|
+
vertical-align: middle;
|
91
|
+
background: url(http://static.rubyforge.vm.bytemark.co.uk/themes/rubyforge/images/controls-bg.png) top left repeat-x;
|
92
|
+
}
|
93
|
+
#controls img {
|
94
|
+
float: left;
|
95
|
+
margin-right: 1em;
|
96
|
+
}
|
97
|
+
#controls a {
|
98
|
+
padding: 0px;
|
99
|
+
margin: 0px;
|
100
|
+
color: #fff;
|
101
|
+
text-decoration: none;
|
102
|
+
margin-right: 1em;
|
103
|
+
}
|
104
|
+
#controls a:hover {
|
105
|
+
color: #ffffcc;
|
106
|
+
}
|
107
|
+
#content {
|
108
|
+
padding-left: 2em;
|
109
|
+
padding-right: 2em;
|
110
|
+
}
|
111
|
+
.tabs {
|
112
|
+
clear: both;
|
113
|
+
margin: 0px;
|
114
|
+
height: 26px;
|
115
|
+
padding: 0px;
|
116
|
+
}
|
117
|
+
#outer-tabs {
|
118
|
+
background: #fff url(http://static.rubyforge.vm.bytemark.co.uk/themes/rubyforge/images/tabs-bg.png) top left repeat-x;
|
119
|
+
}
|
120
|
+
#inner-tabs {
|
121
|
+
background: #fff url(http://static.rubyforge.vm.bytemark.co.uk/themes/rubyforge/images/inner-tabs-bg.png) top left repeat-x;
|
122
|
+
}
|
123
|
+
.tabs li {
|
124
|
+
padding: 4px;
|
125
|
+
padding-left: 10px;
|
126
|
+
padding-right: 10px;
|
127
|
+
float: left;
|
128
|
+
display: block;
|
129
|
+
margin-left: 0.5em;
|
130
|
+
}
|
131
|
+
.tabs li a {
|
132
|
+
color: #444;
|
133
|
+
text-decoration: none;
|
134
|
+
font-size: 14px;
|
135
|
+
font-weight: bold;
|
136
|
+
}
|
137
|
+
.tabs li a:hover {
|
138
|
+
color: red; }
|
139
|
+
#outer-tabs li.active {
|
140
|
+
background: url(http://static.rubyforge.vm.bytemark.co.uk/themes/rubyforge/images/active-tab-bg.png) top left repeat-x;
|
141
|
+
}
|
142
|
+
#inner-tabs li a {
|
143
|
+
font-size: 13px; }
|
144
|
+
#inner-tabs li.active {
|
145
|
+
background: url(http://static.rubyforge.vm.bytemark.co.uk/themes/rubyforge/images/active-inner-tab-bg.png) top left repeat-x;
|
146
|
+
}
|
147
|
+
.tabs li.active a {
|
148
|
+
color: #000;
|
149
|
+
}
|
150
|
+
#fade {
|
151
|
+
background: url(http://static.rubyforge.vm.bytemark.co.uk/themes/rubyforge/images/bottom-fade-bg.png) bottom left repeat-x;
|
152
|
+
height: 13px;
|
153
|
+
}
|
154
|
+
|
155
|
+
.titlebar {
|
156
|
+
background: #FFFFCC;
|
157
|
+
padding: 4px;
|
158
|
+
font-size: 14px;
|
159
|
+
font-weight: bold;
|
160
|
+
border-bottom: 1px #fab444 solid; }
|
161
|
+
.files-header td {
|
162
|
+
background: #ffffcc;
|
163
|
+
border: 1px #fab444 solid;
|
164
|
+
}
|
165
|
+
.files-header td * {
|
166
|
+
background: none;
|
167
|
+
border: 0px; }
|
168
|
+
.files-header + tr td {
|
169
|
+
background: #ddd;
|
170
|
+
}
|
171
|
+
.files-header + tr td * {
|
172
|
+
background: none;
|
173
|
+
border: 0px;
|
174
|
+
color: #666;
|
175
|
+
}
|
176
|
+
.package td {
|
177
|
+
background: #ffffcc;
|
178
|
+
}
|
179
|
+
-->
|
180
|
+
</style>
|
181
|
+
</head>
|
182
|
+
<body>
|
183
|
+
|
184
|
+
<div id='header'>
|
185
|
+
<div id='header-right'>
|
186
|
+
<div id='controls'><img alt='' src='http://static.rubyforge.vm.bytemark.co.uk/themes/rubyforge/images/controls-left.png'/>
|
187
|
+
<a href="/account/login.php">Log In</a>
|
188
|
+
<a href="/projects/support/">Support</a>
|
189
|
+
<a href="/account/register.php">New Account</a>
|
190
|
+
</div>
|
191
|
+
<div id='search'>
|
192
|
+
<form action="/search/" method="get">
|
193
|
+
<table border="0" cellpadding="0" cellspacing="0">
|
194
|
+
<tr><td>
|
195
|
+
<div align="center" style="font-size:smaller"><select name="type_of_search"><option value="trackers">This project's trackers</option>
|
196
|
+
<option value="forums">This project's forums</option>
|
197
|
+
<option value="tasks">This project's tasks</option>
|
198
|
+
<option value="frs">This project's releases</option>
|
199
|
+
<option value="docs">This project's documents</option>
|
200
|
+
<option value="news">This project's news</option>
|
201
|
+
<option value="soft">Software/Group</option>
|
202
|
+
<option value="people">People</option>
|
203
|
+
<option value="skill">Skill</option>
|
204
|
+
</select></div></td><td> <input type="hidden" value="4359" name="group_id" /></td><td><input type="text" size="12" name="words" value="" /></td><td> </td><td><input type="submit" name="Search" value="Search" /></td>
|
205
|
+
<td width="10"> </td>
|
206
|
+
<td><b><a style="color: #FFFFFF" href="/search/advanced_search.php?group_id=4359"> Advanced search</a></b></td></tr></table></form></div>
|
207
|
+
</div>
|
208
|
+
<a href='/' title='Back to Homepage'><img alt='RubyForge' src='http://static.rubyforge.vm.bytemark.co.uk/themes/rubyforge/images/header.png'/></a>
|
209
|
+
<!-- <a href='http://alohaonrails.com/'><img alt='Aloha on Rails' src='/images/alohaconf.jpg'/></a> -->
|
210
|
+
</div>
|
211
|
+
<ul id="outer-tabs"
|
212
|
+
class="tabs"><li><a href='/'>Home</a></li><li><a href='/my/'>My Page</a></li><li><a href='/softwaremap/'>Project Tree</a></li><li><a href='/snippet/'>Code Snippets</a></li><li><a href='/people/'>Project Openings</a></li><li class='active'><a href='/projects/ironruby/'>IronRuby</a></li></ul><ul id="inner-tabs"
|
213
|
+
class="tabs"><li><a href='/projects/ironruby/'>Summary</a></li><li><a href='/tracker/?group_id=4359'>Tracker</a></li><li><a href='/mail/?group_id=4359'>Lists</a></li><li class='active'><a href='/frs/?group_id=4359'>Files</a></li></ul><div id='fade'></div>
|
214
|
+
|
215
|
+
<div id='content'>
|
216
|
+
<table border="0" width="100%" cellspacing="0" cellpadding="0">
|
217
|
+
|
218
|
+
<tr>
|
219
|
+
<td><img
|
220
|
+
src="http://static.rubyforge.vm.bytemark.co.uk/themes/rubyforge/images/clear.png" width="10" height="1" alt="" /></td>
|
221
|
+
<td valign="top" width="99%">
|
222
|
+
|
223
|
+
<p><strong>
|
224
|
+
<a href=/frs/?group_id=4359>Files</a> |
|
225
|
+
<a href=/frs/admin/?group_id=4359>Admin</a></strong></p><p>Below is a list of all files of the project. Before downloading, you may want to read Release Notes and ChangeLog (accessible by clicking on release version).
|
226
|
+
</p>
|
227
|
+
|
228
|
+
<table width="100%" border="0" cellspacing="1" cellpadding="1">
|
229
|
+
<!-- multiTableRow -->
|
230
|
+
<tr class="files-header" align="center" ><td rowspan="2" ><span class="titlebar">Package</span></td><td rowspan="2" ><span class="titlebar">Release & Notes</span></td><td rowspan="2" ><span class="titlebar">Filename</span></td><td colspan="4" ><span class="titlebar">Date</span></td></tr>
|
231
|
+
<!-- end multiTableRow -->
|
232
|
+
|
233
|
+
<!-- multiTableRow -->
|
234
|
+
<tr align="center" ><td ><span class="titlebar">Size</span></td><td ><span class="titlebar">D/L</span></td><td ><span class="titlebar">Arch</span></td><td ><span class="titlebar">Type</span></td></tr>
|
235
|
+
<!-- end multiTableRow -->
|
236
|
+
<tr bgcolor="#FFFFFF"><td colspan="3"><h3>ironruby
|
237
|
+
<a href="/frs/monitor.php?filemodule_id=5356&group_id=4359&start=1"><img src="http://static.rubyforge.vm.bytemark.co.uk/themes/rubyforge/images/ic/mail16w.png" alt="Monitor this package" border="0" width="20" height="20" /></a></h3></td><td colspan="4"> </td></tr>
|
238
|
+
<!-- multiTableRow -->
|
239
|
+
<tr bgcolor="#FFFFFF"><td colspan="3" > <strong>
|
240
|
+
<a href="shownotes.php?release_id=39609">0.9.1</a></strong></td><td colspan="4" align="middle" > <strong>
|
241
|
+
2009-09-29 01:48</strong></td></tr>
|
242
|
+
<!-- end multiTableRow -->
|
243
|
+
|
244
|
+
<!-- multiTableRow -->
|
245
|
+
<tr bgcolor="#FFFFFF"><td colspan=3 ><dd>
|
246
|
+
<a href="/frs/download.php/64509/ironruby-0.9.1-ipy.zip">ironruby-0.9.1-ipy.zip</a></td><td align="right" >655 KB</td><td align="right" >46</td><td >Any</td><td >.zip</td></tr>
|
247
|
+
<!-- end multiTableRow -->
|
248
|
+
|
249
|
+
<!-- multiTableRow -->
|
250
|
+
<tr bgcolor="#FFFFFF"><td colspan=3 ><dd>
|
251
|
+
<a href="/frs/download.php/64504/ironruby-0.9.1.zip">ironruby-0.9.1.zip</a></td><td align="right" >4.51 MB</td><td align="right" >182</td><td >Any</td><td >.zip</td></tr>
|
252
|
+
<!-- end multiTableRow -->
|
253
|
+
|
254
|
+
<!-- multiTableRow -->
|
255
|
+
<tr bgcolor="#FFFFFF"><td colspan="3" > <strong>
|
256
|
+
<a href="shownotes.php?release_id=37484">0.9.0</a></strong></td><td colspan="4" align="middle" > <strong>
|
257
|
+
2009-08-01 13:04</strong></td></tr>
|
258
|
+
<!-- end multiTableRow -->
|
259
|
+
|
260
|
+
<!-- multiTableRow -->
|
261
|
+
<tr bgcolor="#FFFFFF"><td colspan=3 ><dd>
|
262
|
+
<a href="/frs/download.php/61383/ironruby-0.9.0-ipy.zip">ironruby-0.9.0-ipy.zip</a></td><td align="right" >692 KB</td><td align="right" >90</td><td >Any</td><td >.zip</td></tr>
|
263
|
+
<!-- end multiTableRow -->
|
264
|
+
|
265
|
+
<!-- multiTableRow -->
|
266
|
+
<tr bgcolor="#FFFFFF"><td colspan=3 ><dd>
|
267
|
+
<a href="/frs/download.php/61382/ironruby-0.9.0.zip">ironruby-0.9.0.zip</a></td><td align="right" >4.16 MB</td><td align="right" >251</td><td >Any</td><td >.zip</td></tr>
|
268
|
+
<!-- end multiTableRow -->
|
269
|
+
|
270
|
+
<!-- multiTableRow -->
|
271
|
+
<tr bgcolor="#FFFFFF"><td colspan="3" > <strong>
|
272
|
+
<a href="shownotes.php?release_id=36423">0.6.0</a></strong></td><td colspan="4" align="middle" > <strong>
|
273
|
+
2009-07-02 14:46</strong></td></tr>
|
274
|
+
<!-- end multiTableRow -->
|
275
|
+
|
276
|
+
<!-- multiTableRow -->
|
277
|
+
<tr bgcolor="#FFFFFF"><td colspan=3 ><dd>
|
278
|
+
<a href="/frs/download.php/59718/ironruby-0.6.0-ipy.zip">ironruby-0.6.0-ipy.zip</a></td><td align="right" >668 KB</td><td align="right" >55</td><td >i386</td><td >.zip</td></tr>
|
279
|
+
<!-- end multiTableRow -->
|
280
|
+
|
281
|
+
<!-- multiTableRow -->
|
282
|
+
<tr bgcolor="#FFFFFF"><td colspan=3 ><dd>
|
283
|
+
<a href="/frs/download.php/59717/ironruby-0.6.0.zip">ironruby-0.6.0.zip</a></td><td align="right" >3.99 MB</td><td align="right" >146</td><td >i386</td><td >.zip</td></tr>
|
284
|
+
<!-- end multiTableRow -->
|
285
|
+
|
286
|
+
<!-- multiTableRow -->
|
287
|
+
<tr bgcolor="#FFFFFF"><td colspan="3" > <strong>
|
288
|
+
<a href="shownotes.php?release_id=34684">0.5.0</a></strong></td><td colspan="4" align="middle" > <strong>
|
289
|
+
2009-05-20 21:55</strong></td></tr>
|
290
|
+
<!-- end multiTableRow -->
|
291
|
+
|
292
|
+
<!-- multiTableRow -->
|
293
|
+
<tr bgcolor="#FFFFFF"><td colspan=3 ><dd>
|
294
|
+
<a href="/frs/download.php/57126/ironruby-0.5.0.zip">ironruby-0.5.0.zip</a></td><td align="right" >2.15 MB</td><td align="right" >243</td><td >i386</td><td >.zip</td></tr>
|
295
|
+
<!-- end multiTableRow -->
|
296
|
+
|
297
|
+
<!-- multiTableRow -->
|
298
|
+
<tr bgcolor="#FFFFFF"><td colspan="3" > <strong>
|
299
|
+
<a href="shownotes.php?release_id=32447">0.3.0</a></strong></td><td colspan="4" align="middle" > <strong>
|
300
|
+
2009-03-20 19:47</strong></td></tr>
|
301
|
+
<!-- end multiTableRow -->
|
302
|
+
|
303
|
+
<!-- multiTableRow -->
|
304
|
+
<tr bgcolor="#FFFFFF"><td colspan=3 ><dd>
|
305
|
+
<a href="/frs/download.php/53552/ironruby-0.3.0.zip">ironruby-0.3.0.zip</a></td><td align="right" >5.04 MB</td><td align="right" >1,185</td><td >i386</td><td >.zip</td></tr>
|
306
|
+
<!-- end multiTableRow -->
|
307
|
+
|
308
|
+
<!-- multiTableRow -->
|
309
|
+
<tr bgcolor="#FFFFFF"><td colspan="3" > <strong>
|
310
|
+
<a href="shownotes.php?release_id=29587">0.2.5-dlr0.9</a></strong></td><td colspan="4" align="middle" > <strong>
|
311
|
+
2008-12-16 15:48</strong></td></tr>
|
312
|
+
<!-- end multiTableRow -->
|
313
|
+
|
314
|
+
<!-- multiTableRow -->
|
315
|
+
<tr bgcolor="#FFFFFF"><td colspan=3 ><dd>
|
316
|
+
<a href="/frs/download.php/48748/dlr_release.zip">dlr_release.zip</a></td><td align="right" >885 KB</td><td align="right" >719</td><td >i386</td><td >.zip</td></tr>
|
317
|
+
<!-- end multiTableRow -->
|
318
|
+
|
319
|
+
<!-- multiTableRow -->
|
320
|
+
<tr bgcolor="#FFFFFF"><td colspan="3" > <strong>
|
321
|
+
<a href="shownotes.php?release_id=28422">0.2.0</a></strong></td><td colspan="4" align="middle" > <strong>
|
322
|
+
2008-11-19 17:22</strong></td></tr>
|
323
|
+
<!-- end multiTableRow -->
|
324
|
+
|
325
|
+
<!-- multiTableRow -->
|
326
|
+
<tr bgcolor="#FFFFFF"><td colspan=3 ><dd>
|
327
|
+
<a href="/frs/download.php/47077/ironruby1a2.7z">ironruby1a2.7z</a></td><td align="right" >1.39 MB</td><td align="right" >276</td><td >i386</td><td >Other</td></tr>
|
328
|
+
<!-- end multiTableRow -->
|
329
|
+
|
330
|
+
<!-- multiTableRow -->
|
331
|
+
<tr bgcolor="#FFFFFF"><td colspan=3 ><dd>
|
332
|
+
<a href="/frs/download.php/47076/ironruby1a2.zip">ironruby1a2.zip</a></td><td align="right" >2.07 MB</td><td align="right" >2,360</td><td >i386</td><td >.zip</td></tr>
|
333
|
+
<!-- end multiTableRow -->
|
334
|
+
|
335
|
+
<!-- multiTableRow -->
|
336
|
+
<tr bgcolor="#FFFFFF"><td colspan="3" > <strong>
|
337
|
+
<a href="shownotes.php?release_id=24193">0.1.0</a></strong></td><td colspan="4" align="middle" > <strong>
|
338
|
+
2008-07-24 19:30</strong></td></tr>
|
339
|
+
<!-- end multiTableRow -->
|
340
|
+
|
341
|
+
<!-- multiTableRow -->
|
342
|
+
<tr bgcolor="#FFFFFF"><td colspan=3 ><dd>
|
343
|
+
<a href="/frs/download.php/40306/ironruby.zip">ironruby.zip</a></td><td align="right" >1.92 MB</td><td align="right" >2,379</td><td >i386</td><td >.zip</td></tr>
|
344
|
+
<!-- end multiTableRow -->
|
345
|
+
<tr><td colspan="8"> </tr>
|
346
|
+
<tr><td><strong>Project totals</strong></td><td align="right"><strong><em>8</em></strong></td><td align="right"><strong><em>12</em></strong></td><td align="right"><strong><em>28.06 MB</em></strong></td><td align="right"><strong><em>7932</em></strong></td><td colspan="3"> </td></tr>
|
347
|
+
</table>
|
348
|
+
|
349
|
+
<hr/><a name='gem_namespace_ownership'></a><h3>Gem namespace ownership</h3>
|
350
|
+
<p>
|
351
|
+
<!-- end main body row -->
|
352
|
+
|
353
|
+
|
354
|
+
</td>
|
355
|
+
<td width="10"><img
|
356
|
+
src="http://static.rubyforge.vm.bytemark.co.uk/themes/rubyforge/images/clear.png" width="2" height="1" alt="" /></td>
|
357
|
+
</tr>
|
358
|
+
<tr>
|
359
|
+
<td><img
|
360
|
+
src="http://static.rubyforge.vm.bytemark.co.uk/themes/rubyforge/images/clear.png" width="1" height="1" alt="" /></td>
|
361
|
+
</tr>
|
362
|
+
</table>
|
363
|
+
|
364
|
+
<!-- end inner body row -->
|
365
|
+
|
366
|
+
</td>
|
367
|
+
<td width="10"><img src="http://static.rubyforge.vm.bytemark.co.uk/themes/rubyforge/images/clear.png" width="2" height="1" alt="" /></td>
|
368
|
+
</tr>
|
369
|
+
<tr>
|
370
|
+
<!-- some extra space to make it look nicer -->
|
371
|
+
<td height="100"> </td>
|
372
|
+
|
373
|
+
</tr>
|
374
|
+
</table>
|
375
|
+
|
376
|
+
</div>
|
377
|
+
</body>
|
378
|
+
</html>
|