rubyvis 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data.tar.gz.sig +0 -0
- data/History.txt +6 -0
- data/README.txt +1 -1
- data/Rakefile +16 -1
- data/examples/antibiotics/antibiotics_scatter.rb +3 -0
- data/examples/antibiotics/antibiotics_wedge.rb +55 -33
- data/lib/rubyvis.rb +1 -1
- data/lib/rubyvis/javascript_behaviour.rb +1 -6
- data/spec/anchor_spec.rb +1 -1
- data/spec/area_spec.rb +1 -1
- data/spec/bar_spec.rb +1 -1
- data/spec/internal_spec.rb +7 -7
- data/spec/javascript_behaviour_spec.rb +1 -1
- data/spec/label_spec.rb +1 -1
- data/spec/line_spec.rb +1 -1
- data/spec/mark_spec.rb +1 -1
- data/spec/nest_spec.rb +1 -1
- data/spec/panel_spec.rb +1 -1
- data/spec/readme_spec.rb +1 -1
- data/spec/ruby_api_spec.rb +1 -1
- data/spec/scale_linear_datetime_spec.rb +8 -4
- data/spec/scale_linear_spec.rb +4 -4
- data/spec/scale_log_spec.rb +4 -4
- data/spec/scale_ordinal_spec.rb +1 -1
- data/spec/scale_spec.rb +1 -1
- data/spec/spec_helper.rb +4 -4
- metadata +72 -6
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
Binary file
|
data/History.txt
CHANGED
data/README.txt
CHANGED
@@ -114,7 +114,7 @@ Rubyvis is designed mainly for off-line operation, like batch creation of graphs
|
|
114
114
|
|
115
115
|
== REQUIREMENTS:
|
116
116
|
|
117
|
-
Ruby 1.9.1.
|
117
|
+
Tested on Ruby 1.8.7, 1.9.1, 1.9.2-p0 and ruby-head (future 1.9.3)
|
118
118
|
|
119
119
|
== INSTALL:
|
120
120
|
|
data/Rakefile
CHANGED
@@ -1,16 +1,31 @@
|
|
1
1
|
# -*- ruby -*-
|
2
|
-
$:.unshift(File.dirname(__FILE__)+"/lib")
|
2
|
+
$:.unshift(File.expand_path(File.dirname(__FILE__)+"/lib"))
|
3
|
+
$:.unshift(File.expand_path(File.dirname(__FILE__)))
|
4
|
+
|
3
5
|
require 'rubygems'
|
4
6
|
require 'hoe'
|
5
7
|
require 'rubyvis'
|
8
|
+
require 'rspec'
|
9
|
+
require 'rspec/core/rake_task'
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
|
14
|
+
RSpec::Core::RakeTask.new do |t|
|
15
|
+
t.rspec_opts = ["-c", "-f progress", "-r ./spec/spec_helper.rb"]
|
16
|
+
t.pattern = 'spec/**/*_spec.rb'
|
17
|
+
end
|
18
|
+
|
6
19
|
|
7
20
|
Hoe.plugin :git
|
21
|
+
|
8
22
|
Hoe.spec 'rubyvis' do
|
9
23
|
self.testlib=:rspec
|
10
24
|
self.test_globs="spec/*_spec.rb"
|
11
25
|
# self.rubyforge_name = 'rubyvis'
|
12
26
|
self.developer('Claudio Bustos', 'clbustos_at_gmail.com')
|
13
27
|
self.version=Rubyvis::VERSION
|
28
|
+
self.extra_dev_deps << ["coderay",">=0"] << ["haml",">=0"] << ["nokogiri", ">=0"] << ["rspec",">=2.0"]
|
14
29
|
end
|
15
30
|
|
16
31
|
# vim: syntax=ruby
|
@@ -1,4 +1,7 @@
|
|
1
1
|
# = Antibiotic Effectiveness : Scatterplot
|
2
|
+
#
|
3
|
+
# After World War II, antibiotics earned the moniker “wonder drugs” for quickly treating previously-incurable diseases. Data was gathered to determine which drug worked best for each bacterial infection. Comparing drug performance was an enormous aid for practitioners and scientists alike. In the fall of 1951, Will Burtin published this graph showing the effectiveness of three popular antibiotics on 16 different bacteria, measured in terms of minimum inhibitory concentration.
|
4
|
+
# Recreating this display revealed some minor errors in the original: a missing grid line at 0.01 μg/ml, and an exaggeration of some values for penicillin.
|
2
5
|
$:.unshift(File.dirname(__FILE__)+"/../../lib")
|
3
6
|
require 'rubyvis'
|
4
7
|
load(File.dirname(__FILE__)+"/antibiotics_data.rb")
|
@@ -1,4 +1,7 @@
|
|
1
1
|
# = Antibiotic Effectiveness : Pie chart
|
2
|
+
#
|
3
|
+
# After World War II, antibiotics earned the moniker “wonder drugs” for quickly treating previously-incurable diseases. Data was gathered to determine which drug worked best for each bacterial infection. Comparing drug performance was an enormous aid for practitioners and scientists alike. In the fall of 1951, Will Burtin published this graph showing the effectiveness of three popular antibiotics on 16 different bacteria, measured in terms of minimum inhibitory concentration.
|
4
|
+
# Recreating this display revealed some minor errors in the original: a missing grid line at 0.01 μg/ml, and an exaggeration of some values for penicillin.
|
2
5
|
$:.unshift(File.dirname(__FILE__)+"/../../lib")
|
3
6
|
require 'rubyvis'
|
4
7
|
load(File.dirname(__FILE__)+"/antibiotics_data.rb")
|
@@ -18,14 +21,14 @@ gram_color = {
|
|
18
21
|
:negative=> "rgba(230, 130, 110, .8)"
|
19
22
|
}
|
20
23
|
|
21
|
-
|
24
|
+
# Burtin's radius encoding is, as far as I can tell, sqrt(log(mic)).
|
22
25
|
min = Math.sqrt(Math.log(0.001 * 1e4))
|
23
26
|
max = Math.sqrt(Math.log(1000 * 1e4))
|
24
27
|
a = (outer_radius - inner_radius) / (min - max.to_f)
|
25
28
|
b = inner_radius - a * max
|
26
29
|
|
27
30
|
radius = lambda {|mic| a * Math.sqrt(Math.log(mic * 1e4)) + b}
|
28
|
-
|
31
|
+
|
29
32
|
# The pie is split into equal sections for each bacteria, with a blank
|
30
33
|
# section at the top for the grid labels. Each wedge is further
|
31
34
|
# subdivided to make room for the three antibiotics, equispaced.
|
@@ -40,7 +43,7 @@ vis = Rubyvis::Panel.new.
|
|
40
43
|
|
41
44
|
|
42
45
|
|
43
|
-
|
46
|
+
# Background wedges to indicate gram staining color.
|
44
47
|
bg = vis.add(Rubyvis::Wedge).
|
45
48
|
data($bacteria). # assumes Burtin's order
|
46
49
|
left(lambda {|i| width / 2.0}).
|
@@ -48,37 +51,56 @@ bg = vis.add(Rubyvis::Wedge).
|
|
48
51
|
inner_radius(inner_radius).
|
49
52
|
outer_radius(outer_radius).
|
50
53
|
angle(big_angle).
|
51
|
-
start_angle(lambda {|d|
|
52
|
-
|
54
|
+
start_angle(lambda {|d|
|
55
|
+
index * big_angle + big_angle / 2.0 - Math::PI / 2.0
|
56
|
+
}).
|
57
|
+
fill_style(lambda {|d|
|
58
|
+
Rubyvis.color(gram_color[d[:gram].to_sym])
|
59
|
+
})
|
60
|
+
|
61
|
+
# Antibiotics.
|
53
62
|
|
54
|
-
# Antibiotics.
|
55
63
|
bg.add(Rubyvis::Wedge).
|
56
64
|
angle(small_angle).
|
57
|
-
start_angle(lambda {|d|
|
58
|
-
|
65
|
+
start_angle(lambda {|d|
|
66
|
+
bg.start_angle() + small_angle
|
67
|
+
}).
|
68
|
+
outer_radius(lambda {|d|
|
69
|
+
radius.call(d[:penicillin])
|
70
|
+
}).
|
59
71
|
fill_style(drug_color[:penicillin]).
|
60
72
|
add(Rubyvis::Wedge).
|
61
|
-
start_angle(lambda {|d|
|
62
|
-
|
73
|
+
start_angle(lambda {|d|
|
74
|
+
proto.start_angle() + 2 * small_angle}).
|
75
|
+
outer_radius(lambda {|d|
|
76
|
+
radius.call(d[:streptomycin])
|
77
|
+
}).
|
63
78
|
fill_style(drug_color[:streptomycin]).
|
64
79
|
add(Rubyvis::Wedge).
|
65
|
-
outer_radius(lambda {|d|
|
80
|
+
outer_radius(lambda {|d|
|
81
|
+
radius.call(d[:neomycin])
|
82
|
+
}).
|
66
83
|
fill_style(drug_color[:neomycin])
|
67
84
|
|
68
|
-
|
85
|
+
# Circular grid lines.
|
69
86
|
|
70
87
|
bg.add(Rubyvis::Dot)
|
71
88
|
.data(Rubyvis.range(-3, 4))
|
72
89
|
.fill_style(nil)
|
73
90
|
.stroke_style("#eee")
|
74
91
|
.line_width(1)
|
75
|
-
.shape_size(lambda {|i|
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
92
|
+
.shape_size(lambda {|i|
|
93
|
+
radius.call(10**i)** 2
|
94
|
+
}).
|
95
|
+
anchor("top").add(Rubyvis::Label).
|
96
|
+
visible(lambda {|i| i < 3}).
|
97
|
+
text_baseline("middle").
|
98
|
+
text(lambda {|i|
|
99
|
+
i<0 ? (10** i).to_f : (10**i).to_i
|
100
|
+
})
|
101
|
+
|
102
|
+
# Radial grid lines.
|
80
103
|
|
81
|
-
#/* Radial grid lines. */
|
82
104
|
bg.add(Rubyvis::Wedge)
|
83
105
|
.data(Rubyvis.range($bacteria.size + 1))
|
84
106
|
.inner_radius(inner_radius - 10)
|
@@ -87,12 +109,12 @@ bg.add(Rubyvis::Wedge)
|
|
87
109
|
.stroke_style("black")
|
88
110
|
.angle(0)
|
89
111
|
|
90
|
-
|
112
|
+
# Labels.
|
91
113
|
bg.anchor("outer").add(Rubyvis::Label)
|
92
114
|
.text_align("center")
|
93
|
-
.text(lambda {|d| d[:
|
115
|
+
.text(lambda {|d| d[:name]})
|
94
116
|
|
95
|
-
|
117
|
+
# Antibiotic legend.
|
96
118
|
vis.add(Rubyvis::Bar)
|
97
119
|
.data(Rubyvis.keys(drug_color))
|
98
120
|
.right(width / 2 + 3)
|
@@ -104,18 +126,18 @@ vis.add(Rubyvis::Bar)
|
|
104
126
|
.textMargin(6)
|
105
127
|
.textAlign("left");
|
106
128
|
|
107
|
-
|
108
|
-
vis.add(
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
129
|
+
# Gram-stain legend.
|
130
|
+
vis.add(Rubyvis::Dot).
|
131
|
+
data([:positive, :negative]).
|
132
|
+
left(width / 2.0 - 20).
|
133
|
+
bottom(lambda { -60 + index * 18}).
|
134
|
+
fill_style(lambda {|d| gram_color[d]}).
|
135
|
+
stroke_style(nil).
|
136
|
+
shape_size(30).
|
137
|
+
anchor("right").add(Rubyvis::Label).
|
138
|
+
text_margin(6).
|
139
|
+
text_align("left").
|
140
|
+
text(lambda {|d| "Gram-#{d}"})
|
119
141
|
|
120
142
|
vis.render
|
121
143
|
puts vis.to_svg
|
data/lib/rubyvis.rb
CHANGED
@@ -25,7 +25,7 @@ require 'rubyvis/transform'
|
|
25
25
|
module Rubyvis
|
26
26
|
@document=nil
|
27
27
|
# Rubyvis version
|
28
|
-
VERSION = '0.2.
|
28
|
+
VERSION = '0.2.2'
|
29
29
|
# Protovis API on which current Rubyvis is based
|
30
30
|
PROTOVIS_API_VERSION='3.3'
|
31
31
|
# You actually can do it! http://snipplr.com/view/2137/uses-for-infinity-in-ruby/
|
@@ -66,14 +66,9 @@ class Proc
|
|
66
66
|
end
|
67
67
|
#puts "#{args}->#{arguments} (#{self.arity})"
|
68
68
|
if self.arity==0
|
69
|
-
if RUBY_VERSION <="1.9.2" # CHECK THIS
|
70
|
-
obj.instance_eval(&self)
|
71
|
-
else
|
72
69
|
obj.instance_exec(&self)
|
73
|
-
|
74
|
-
end
|
75
70
|
else
|
76
|
-
obj.instance_exec(*arguments
|
71
|
+
obj.instance_exec(*arguments, &self)
|
77
72
|
end
|
78
73
|
end
|
79
74
|
# Same as js_apply, but using explicit arguments
|
data/spec/anchor_spec.rb
CHANGED
data/spec/area_spec.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require File.dirname(__FILE__)+"/spec_helper.rb"
|
1
|
+
require File.expand_path(File.dirname(__FILE__)+"/spec_helper.rb")
|
2
2
|
describe Rubyvis::Area do
|
3
3
|
it "should have correct properties" do
|
4
4
|
props=[:antialias, :bottom, :cursor, :data, :events, :fill_style, :height, :id, :interpolate, :left, :line_width, :reverse, :right, :segmented, :stroke_style, :tension, :title, :top, :visible, :width].inject({}) {|ac, v| ac[v]=true; ac}
|
data/spec/bar_spec.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require File.dirname(__FILE__)+"/spec_helper.rb"
|
1
|
+
require File.expand_path(File.dirname(__FILE__)+"/spec_helper.rb")
|
2
2
|
describe Rubyvis::Bar do
|
3
3
|
it "should have correct properties" do
|
4
4
|
props=[:antialias, :bottom, :cursor, :data, :events, :fill_style, :height, :id, :left, :line_width, :reverse, :right, :stroke_style, :title, :top, :visible, :width].inject({}) {|ac, v| ac[v]=true; ac}
|
data/spec/internal_spec.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require File.dirname(__FILE__)+"/spec_helper.rb"
|
1
|
+
require File.expand_path(File.dirname(__FILE__)+"/spec_helper.rb")
|
2
2
|
describe "Rubyvis module methods" do
|
3
3
|
describe "from pv.js" do
|
4
4
|
it "method identify should always return the same value" do
|
@@ -124,22 +124,22 @@ describe "Rubyvis module methods" do
|
|
124
124
|
Rubyvis.variance([5,7,9,11], lambda {|x| x+self.index}).should==45
|
125
125
|
end
|
126
126
|
it "method deviation returns standard deviation" do
|
127
|
-
Rubyvis.deviation([5,7,9,11]).should
|
127
|
+
Rubyvis.deviation([5,7,9,11]).should be_within( 0.001).of(2.581)
|
128
128
|
end
|
129
129
|
it "method log" do
|
130
|
-
Rubyvis.log(5,4).should
|
130
|
+
Rubyvis.log(5,4).should be_within( 0.001).of(1.16)
|
131
131
|
end
|
132
132
|
it "method log_symmetric" do
|
133
|
-
Rubyvis.log_symmetric(-5,4).should
|
133
|
+
Rubyvis.log_symmetric(-5,4).should be_within( 0.001).of(-1.16)
|
134
134
|
end
|
135
135
|
it "method log_adjusted" do
|
136
|
-
Rubyvis.log_adjusted(6,10).should
|
136
|
+
Rubyvis.log_adjusted(6,10).should be_within( 0.001).of(0.806)
|
137
137
|
end
|
138
138
|
it "method log_floor" do
|
139
|
-
Rubyvis.log_floor(-5,4).should
|
139
|
+
Rubyvis.log_floor(-5,4).should be_within( 0.001).of(16)
|
140
140
|
end
|
141
141
|
it "method log_ceil" do
|
142
|
-
Rubyvis.log_ceil(-5,4).should
|
142
|
+
Rubyvis.log_ceil(-5,4).should be_within( 0.001).of(-4)
|
143
143
|
end
|
144
144
|
it "method dict" do
|
145
145
|
Rubyvis.dict(["one", "three", "seventeen"], lambda {|s| s.size}).should=={"one"=> 3, "three"=> 5, "seventeen"=> 9}
|
data/spec/label_spec.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require File.dirname(__FILE__)+"/spec_helper.rb"
|
1
|
+
require File.expand_path(File.dirname(__FILE__)+"/spec_helper.rb")
|
2
2
|
describe Rubyvis::Label do
|
3
3
|
it "should have correct properties" do
|
4
4
|
props=[:antialias, :bottom, :cursor, :data, :events, :font, :id, :left, :reverse, :right, :text, :text_align, :text_angle, :text_baseline, :text_decoration, :text_margin, :text_shadow, :text_style, :title, :top, :visible].inject({}) {|ac, v| ac[v]=true; ac}
|
data/spec/line_spec.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require File.dirname(__FILE__)+"/spec_helper.rb"
|
1
|
+
require File.expand_path(File.dirname(__FILE__)+"/spec_helper.rb")
|
2
2
|
describe Rubyvis::Line do
|
3
3
|
it "should have correct properties" do
|
4
4
|
props=[:antialias, :bottom, :cursor, :data, :eccentricity, :events, :fill_style, :id, :interpolate, :left, :line_join, :line_width, :reverse, :right, :segmented, :stroke_style, :tension, :title, :top, :visible].inject({}) {|ac, v| ac[v]=true; ac}
|
data/spec/mark_spec.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require File.dirname(__FILE__)+"/spec_helper.rb"
|
1
|
+
require File.expand_path(File.dirname(__FILE__)+"/spec_helper.rb")
|
2
2
|
describe Rubyvis::Mark do
|
3
3
|
it "should have correct properties" do
|
4
4
|
props=[:antialias, :bottom, :cursor, :data, :events, :id, :left, :reverse, :right, :title, :top, :visible].inject({}) {|ac, v| ac[v]=true; ac}
|
data/spec/nest_spec.rb
CHANGED
data/spec/panel_spec.rb
CHANGED
data/spec/readme_spec.rb
CHANGED
data/spec/ruby_api_spec.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require File.dirname(__FILE__)+"/spec_helper.rb"
|
1
|
+
require File.expand_path(File.dirname(__FILE__)+"/spec_helper.rb")
|
2
2
|
describe "Rubyvis::Scale::Linear with dates" do
|
3
3
|
it "should be created as Javascript" do
|
4
4
|
h=280
|
@@ -33,7 +33,7 @@ describe "Rubyvis::Scale::Linear with dates" do
|
|
33
33
|
@y.scale(@ed).should==@h
|
34
34
|
@y[@ed].should==@h
|
35
35
|
val= (@ed.to_f+@bd.to_f) / 2.0
|
36
|
-
@y.scale(val).should
|
36
|
+
@y.scale(val).should be_within( 0.001).of(@h / 2.0)
|
37
37
|
end
|
38
38
|
it "should returns correct invert" do
|
39
39
|
@y.invert(0).should==@bd
|
@@ -46,7 +46,11 @@ describe "Rubyvis::Scale::Linear with dates" do
|
|
46
46
|
|
47
47
|
#p @y.ticks
|
48
48
|
end
|
49
|
-
it "should returns correct tick_format"
|
49
|
+
it "should returns correct tick_format" do
|
50
|
+
pending()
|
51
|
+
end
|
50
52
|
|
51
|
-
it "should nice nicely"
|
53
|
+
it "should nice nicely" do
|
54
|
+
pending()
|
55
|
+
end
|
52
56
|
end
|
data/spec/scale_linear_spec.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require File.dirname(__FILE__)+"/spec_helper.rb"
|
1
|
+
require File.expand_path(File.dirname(__FILE__)+"/spec_helper.rb")
|
2
2
|
describe Rubyvis::Scale::Linear do
|
3
3
|
if Rubyvis::JohnsonLoader.available?
|
4
4
|
context "direct protovis API comparison" do
|
@@ -89,11 +89,11 @@ describe Rubyvis::Scale::Linear do
|
|
89
89
|
@y.scale(@h_dom).should==280
|
90
90
|
@y[@h_dom].should==280
|
91
91
|
val=20
|
92
|
-
@y.scale(val).should
|
92
|
+
@y.scale(val).should be_within( 0.001).of(val.quo(@h_dom)*@h.to_f)
|
93
93
|
end
|
94
94
|
it "should returns correct invert" do
|
95
|
-
@y.invert(100).should
|
96
|
-
@y.invert(200).should
|
95
|
+
@y.invert(100).should be_within( 0.001).of(357.1428)
|
96
|
+
@y.invert(200).should be_within( 0.001).of(714.2857)
|
97
97
|
end
|
98
98
|
it "should returns correct ticks" do
|
99
99
|
@y.ticks.should==[0,100,200,300,400,500,600,700,800,900,1000]
|
data/spec/scale_log_spec.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require File.dirname(__FILE__)+"/spec_helper.rb"
|
1
|
+
require File.expand_path(File.dirname(__FILE__)+"/spec_helper.rb")
|
2
2
|
describe Rubyvis::Scale::Log do
|
3
3
|
if Rubyvis::JohnsonLoader.available?
|
4
4
|
context "direct protovis API comparison" do
|
@@ -86,11 +86,11 @@ describe Rubyvis::Scale::Log do
|
|
86
86
|
@y.scale(@h_dom).should==280
|
87
87
|
@y[@h_dom].should==280
|
88
88
|
val=20
|
89
|
-
@y.scale(val).should
|
89
|
+
@y.scale(val).should be_within( 0.001).of(121.995)
|
90
90
|
end
|
91
91
|
it "should returns correct invert" do
|
92
|
-
@y.invert(100).should
|
93
|
-
@y.invert(200).should
|
92
|
+
@y.invert(100).should be_within( 0.001).of(11.601)
|
93
|
+
@y.invert(200).should be_within( 0.001).of(137.970)
|
94
94
|
end
|
95
95
|
it "should returns correct ticks" do
|
96
96
|
t=1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100,200,300,400,500,600,700,800,900,1000
|
data/spec/scale_ordinal_spec.rb
CHANGED
data/spec/scale_spec.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
$:.unshift(File.dirname(__FILE__)+"/../lib")
|
2
|
-
require '
|
3
|
-
require 'spec/autorun'
|
2
|
+
require 'rspec'
|
3
|
+
#require 'spec/autorun'
|
4
4
|
require 'rubyvis'
|
5
5
|
require 'pp'
|
6
6
|
require 'nokogiri'
|
@@ -27,14 +27,14 @@ module Rubyvis
|
|
27
27
|
end
|
28
28
|
end
|
29
29
|
# Spec matcher
|
30
|
-
|
30
|
+
RSpec::Matchers.define :have_svg_attributes do |exp|
|
31
31
|
match do |obs|
|
32
32
|
exp.each {|k,v|
|
33
33
|
obs.attributes[k].value.should==v
|
34
34
|
}
|
35
35
|
end
|
36
36
|
end
|
37
|
-
|
37
|
+
RSpec::Matchers.define :have_path_data_close_to do |exp|
|
38
38
|
def path_scan(path)
|
39
39
|
path.scan(/([MmCcZzLlHhVvSsQqTtAa, ])(\d+(?:\.\d+)?)/).map {|v|
|
40
40
|
v[0]="," if v[0]==" "
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubyvis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 19
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 2
|
8
|
-
-
|
9
|
-
version: 0.2.
|
9
|
+
- 2
|
10
|
+
version: 0.2.2
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Claudio Bustos
|
@@ -35,16 +36,18 @@ cert_chain:
|
|
35
36
|
rpP0jjs0
|
36
37
|
-----END CERTIFICATE-----
|
37
38
|
|
38
|
-
date: 2010-11-
|
39
|
+
date: 2010-11-13 00:00:00 -03:00
|
39
40
|
default_executable:
|
40
41
|
dependencies:
|
41
42
|
- !ruby/object:Gem::Dependency
|
42
43
|
name: rubyforge
|
43
44
|
prerelease: false
|
44
45
|
requirement: &id001 !ruby/object:Gem::Requirement
|
46
|
+
none: false
|
45
47
|
requirements:
|
46
48
|
- - ">="
|
47
49
|
- !ruby/object:Gem::Version
|
50
|
+
hash: 7
|
48
51
|
segments:
|
49
52
|
- 2
|
50
53
|
- 0
|
@@ -53,19 +56,78 @@ dependencies:
|
|
53
56
|
type: :development
|
54
57
|
version_requirements: *id001
|
55
58
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
59
|
+
name: coderay
|
57
60
|
prerelease: false
|
58
61
|
requirement: &id002 !ruby/object:Gem::Requirement
|
62
|
+
none: false
|
63
|
+
requirements:
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
hash: 3
|
67
|
+
segments:
|
68
|
+
- 0
|
69
|
+
version: "0"
|
70
|
+
type: :development
|
71
|
+
version_requirements: *id002
|
72
|
+
- !ruby/object:Gem::Dependency
|
73
|
+
name: haml
|
74
|
+
prerelease: false
|
75
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
76
|
+
none: false
|
77
|
+
requirements:
|
78
|
+
- - ">="
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
hash: 3
|
81
|
+
segments:
|
82
|
+
- 0
|
83
|
+
version: "0"
|
84
|
+
type: :development
|
85
|
+
version_requirements: *id003
|
86
|
+
- !ruby/object:Gem::Dependency
|
87
|
+
name: nokogiri
|
88
|
+
prerelease: false
|
89
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
90
|
+
none: false
|
59
91
|
requirements:
|
60
92
|
- - ">="
|
61
93
|
- !ruby/object:Gem::Version
|
94
|
+
hash: 3
|
95
|
+
segments:
|
96
|
+
- 0
|
97
|
+
version: "0"
|
98
|
+
type: :development
|
99
|
+
version_requirements: *id004
|
100
|
+
- !ruby/object:Gem::Dependency
|
101
|
+
name: rspec
|
102
|
+
prerelease: false
|
103
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
104
|
+
none: false
|
105
|
+
requirements:
|
106
|
+
- - ">="
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
hash: 3
|
109
|
+
segments:
|
110
|
+
- 2
|
111
|
+
- 0
|
112
|
+
version: "2.0"
|
113
|
+
type: :development
|
114
|
+
version_requirements: *id005
|
115
|
+
- !ruby/object:Gem::Dependency
|
116
|
+
name: hoe
|
117
|
+
prerelease: false
|
118
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
119
|
+
none: false
|
120
|
+
requirements:
|
121
|
+
- - ">="
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
hash: 19
|
62
124
|
segments:
|
63
125
|
- 2
|
64
126
|
- 6
|
65
127
|
- 2
|
66
128
|
version: 2.6.2
|
67
129
|
type: :development
|
68
|
-
version_requirements: *
|
130
|
+
version_requirements: *id006
|
69
131
|
description: Ruby port of Protovis[http://vis.stanford.edu/protovis/], a great visualization toolkit
|
70
132
|
email:
|
71
133
|
- clbustos_at_gmail.com
|
@@ -281,23 +343,27 @@ rdoc_options:
|
|
281
343
|
require_paths:
|
282
344
|
- lib
|
283
345
|
required_ruby_version: !ruby/object:Gem::Requirement
|
346
|
+
none: false
|
284
347
|
requirements:
|
285
348
|
- - ">="
|
286
349
|
- !ruby/object:Gem::Version
|
350
|
+
hash: 3
|
287
351
|
segments:
|
288
352
|
- 0
|
289
353
|
version: "0"
|
290
354
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
355
|
+
none: false
|
291
356
|
requirements:
|
292
357
|
- - ">="
|
293
358
|
- !ruby/object:Gem::Version
|
359
|
+
hash: 3
|
294
360
|
segments:
|
295
361
|
- 0
|
296
362
|
version: "0"
|
297
363
|
requirements: []
|
298
364
|
|
299
365
|
rubyforge_project: rubyvis
|
300
|
-
rubygems_version: 1.3.
|
366
|
+
rubygems_version: 1.3.7
|
301
367
|
signing_key:
|
302
368
|
specification_version: 3
|
303
369
|
summary: Ruby port of Protovis[http://vis.stanford.edu/protovis/], a great visualization toolkit
|
metadata.gz.sig
CHANGED
Binary file
|