googlecharts 1.1.0 → 1.2.0
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.tar.gz.sig +0 -0
- data/README.txt +1 -0
- data/lib/gchart.rb +3 -1
- data/lib/gchart/version.rb +1 -1
- data/script/destroy +0 -0
- data/script/generate +0 -0
- data/script/txt2html +0 -0
- data/spec/gchart_spec.rb +64 -0
- data/website/index.html +28 -5
- data/website/index.txt +20 -3
- metadata +3 -3
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
Binary file
|
data/README.txt
CHANGED
data/lib/gchart.rb
CHANGED
@@ -8,7 +8,7 @@ class Gchart
|
|
8
8
|
include GchartInfo
|
9
9
|
|
10
10
|
@@url = "http://chart.apis.google.com/chart?"
|
11
|
-
@@types = ['line', 'line_xy', 'scatter', 'bar', 'venn', 'pie', 'pie_3d', 'jstize']
|
11
|
+
@@types = ['line', 'line_xy', 'scatter', 'bar', 'venn', 'pie', 'pie_3d', 'jstize', 'sparkline']
|
12
12
|
@@simple_chars = ('A'..'Z').to_a + ('a'..'z').to_a + ('0'..'9').to_a
|
13
13
|
@@chars = @@simple_chars + ['-', '.']
|
14
14
|
@@ext_pairs = @@chars.map { |char_1| @@chars.map { |char_2| char_1 + char_2 } }.flatten
|
@@ -247,6 +247,8 @@ class Gchart
|
|
247
247
|
"cht=v"
|
248
248
|
when :scatter
|
249
249
|
"cht=s"
|
250
|
+
when :sparkline
|
251
|
+
"cht=ls"
|
250
252
|
end
|
251
253
|
end
|
252
254
|
|
data/lib/gchart/version.rb
CHANGED
data/script/destroy
CHANGED
File without changes
|
data/script/generate
CHANGED
File without changes
|
data/script/txt2html
CHANGED
File without changes
|
data/spec/gchart_spec.rb
CHANGED
@@ -213,6 +213,70 @@ end
|
|
213
213
|
|
214
214
|
describe "a pie chart" do
|
215
215
|
|
216
|
+
before(:each) do
|
217
|
+
@title = 'Chart Title'
|
218
|
+
@legend = ['first data set label', 'n data set label']
|
219
|
+
@jstized_legend = Gchart.jstize(@legend.join('|'))
|
220
|
+
@data = [27,25,25,25,25,27,100,31,25,36,25,25,39,25,31,25,25,25,26,26,25,25,28,25,25,100,28,27,31,25,27,27,29,25,27,26,26,25,26,26,35,33,34,25,26,25,36,25,26,37,33,33,37,37,39,25,25,25,25]
|
221
|
+
@chart = Gchart.sparkline(:title => @title, :data => @data, :legend => @legend)
|
222
|
+
end
|
223
|
+
|
224
|
+
it "should create a sparkline" do
|
225
|
+
@chart.include?('cht=ls').should be_true
|
226
|
+
end
|
227
|
+
|
228
|
+
it 'should be able have a chart title' do
|
229
|
+
@chart.include?("chtt=Chart+Title").should be_true
|
230
|
+
end
|
231
|
+
|
232
|
+
it "should be able to a custom color and size title" do
|
233
|
+
Gchart.sparkline(:title => @title, :title_color => 'FF0000').include?('chts=FF0000').should be_true
|
234
|
+
Gchart.sparkline(:title => @title, :title_size => '20').include?('chts=454545,20').should be_true
|
235
|
+
end
|
236
|
+
|
237
|
+
it "should be able to have multiple legends" do
|
238
|
+
@chart.include?(Gchart.jstize("chdl=first+data+set+label|n+data+set+label")).should be_true
|
239
|
+
end
|
240
|
+
|
241
|
+
it "should be able to have one legend" do
|
242
|
+
chart = Gchart.sparkline(:legend => 'legend label')
|
243
|
+
chart.include?("chdl=legend+label").should be_true
|
244
|
+
end
|
245
|
+
|
246
|
+
it "should be able to set the background fill" do
|
247
|
+
Gchart.sparkline(:bg => 'efefef').include?("chf=bg,s,efefef").should be_true
|
248
|
+
Gchart.sparkline(:bg => {:color => 'efefef', :type => 'solid'}).include?("chf=bg,s,efefef").should be_true
|
249
|
+
|
250
|
+
Gchart.sparkline(:bg => {:color => 'efefef', :type => 'gradient'}).include?("chf=bg,lg,0,efefef,0,ffffff,1").should be_true
|
251
|
+
Gchart.sparkline(:bg => {:color => 'efefef,0,ffffff,1', :type => 'gradient'}).include?("chf=bg,lg,0,efefef,0,ffffff,1").should be_true
|
252
|
+
Gchart.sparkline(:bg => {:color => 'efefef', :type => 'gradient', :angle => 90}).include?("chf=bg,lg,90,efefef,0,ffffff,1").should be_true
|
253
|
+
|
254
|
+
Gchart.sparkline(:bg => {:color => 'efefef', :type => 'stripes'}).include?("chf=bg,ls,90,efefef,0.2,ffffff,0.2").should be_true
|
255
|
+
end
|
256
|
+
|
257
|
+
it "should be able to set a graph fill" do
|
258
|
+
Gchart.sparkline(:graph_bg => 'efefef').include?("chf=c,s,efefef").should be_true
|
259
|
+
Gchart.sparkline(:graph_bg => {:color => 'efefef', :type => 'solid'}).include?("chf=c,s,efefef").should be_true
|
260
|
+
Gchart.sparkline(:graph_bg => {:color => 'efefef', :type => 'gradient'}).include?("chf=c,lg,0,efefef,0,ffffff,1").should be_true
|
261
|
+
Gchart.sparkline(:graph_bg => {:color => 'efefef,0,ffffff,1', :type => 'gradient'}).include?("chf=c,lg,0,efefef,0,ffffff,1").should be_true
|
262
|
+
Gchart.sparkline(:graph_bg => {:color => 'efefef', :type => 'gradient', :angle => 90}).include?("chf=c,lg,90,efefef,0,ffffff,1").should be_true
|
263
|
+
end
|
264
|
+
|
265
|
+
it "should be able to set both a graph and a background fill" do
|
266
|
+
Gchart.sparkline(:bg => 'efefef', :graph_bg => '76A4FB').include?("bg,s,efefef").should be_true
|
267
|
+
Gchart.sparkline(:bg => 'efefef', :graph_bg => '76A4FB').include?("c,s,76A4FB").should be_true
|
268
|
+
Gchart.sparkline(:bg => 'efefef', :graph_bg => '76A4FB').include?(Gchart.jstize("chf=c,s,76A4FB|bg,s,efefef")).should be_true
|
269
|
+
end
|
270
|
+
|
271
|
+
it "should be able to have different line colors" do
|
272
|
+
Gchart.sparkline(:line_colors => 'efefef|00ffff').include?(Gchart.jstize('chco=efefef|00ffff')).should be_true
|
273
|
+
Gchart.sparkline(:line_color => 'efefef|00ffff').include?(Gchart.jstize('chco=efefef|00ffff')).should be_true
|
274
|
+
end
|
275
|
+
|
276
|
+
end
|
277
|
+
|
278
|
+
describe "a sparkline chart" do
|
279
|
+
|
216
280
|
before(:each) do
|
217
281
|
@title = 'Chart Title'
|
218
282
|
@legend = ['first data set label', 'n data set label']
|
data/website/index.html
CHANGED
@@ -33,7 +33,7 @@
|
|
33
33
|
<h1>Googlecharts</h1>
|
34
34
|
<div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/googlecharts"; return false'>
|
35
35
|
<p>Get Version</p>
|
36
|
-
<a href="http://rubyforge.org/projects/googlecharts" class="numbers">1.
|
36
|
+
<a href="http://rubyforge.org/projects/googlecharts" class="numbers">1.2.0</a>
|
37
37
|
</div>
|
38
38
|
<h2>→ ‘Sexy Charts using Google <span class="caps">API</span> & Ruby’</h2>
|
39
39
|
|
@@ -47,7 +47,12 @@
|
|
47
47
|
<h2>Installing</h2>
|
48
48
|
|
49
49
|
|
50
|
-
<p
|
50
|
+
<p>This project is now hosted at <a href="http://github.com">GitHub</a>
|
51
|
+
If you never added <a href="http://github.com">GitHub</a> as a gem source, you will need to do the following:
|
52
|
+
<pre class='syntax'><span class="global">$ </span><span class="ident">gem</span> <span class="ident">sources</span> <span class="punct">-</span><span class="ident">a</span> <span class="ident">http</span><span class="punct">:/</span><span class="regex"></span><span class="punct">/</span><span class="ident">gems</span><span class="punct">.</span><span class="ident">github</span><span class="punct">.</span><span class="ident">com</span><span class="punct">/</span></pre> (you only need to do this once)</p>
|
53
|
+
|
54
|
+
|
55
|
+
<p><pre class='syntax'><span class="global">$ </span><span class="ident">sudo</span> <span class="ident">gem</span> <span class="ident">install</span> <span class="ident">matta</span><span class="punct">-</span><span class="ident">googlecharts</span></pre></p>
|
51
56
|
|
52
57
|
|
53
58
|
<h2>The basics</h2>
|
@@ -77,11 +82,14 @@
|
|
77
82
|
<p><img src="http://chart.apis.google.com/chart?cht=p3&chd=s:Uf9a&chs=200x100&chl=A|B|C|D" title="pie_3d" alt="pie_3d" /> Gchart.pie_3d()</p>
|
78
83
|
|
79
84
|
|
85
|
+
<p><img src="http://chart.apis.google.com/chart?chs=100x20&cht=ls&chco=0077CC&chm=B,E6F2FA,0,0,0&chls=1,0,0&chd=t:27,25,25,25,25,27,100,31,25,36,25,25,39,25,31,25,25,25,26,26,25,25,28,25,25,100,28,27,31,25,27,27,29,25,27,26,26,25,26,26,35,33,34,25,26,25,36,25,26,37,33,33,37,37,39,25,25,25,25" title="sparkline" alt="sparkline" />Gchart.sparkline()</p>
|
86
|
+
|
87
|
+
|
80
88
|
<h2>Demonstration of usage</h2>
|
81
89
|
|
82
90
|
|
83
91
|
install:
|
84
|
-
<code>sudo gem install googlecharts</code>
|
92
|
+
<code>sudo gem install matta-googlecharts</code>
|
85
93
|
|
86
94
|
<p>require:
|
87
95
|
<pre class='syntax'><span class="ident">require</span> <span class="punct">'</span><span class="string">gchart</span><span class="punct">'</span></pre></p>
|
@@ -135,6 +143,21 @@ install:
|
|
135
143
|
<p><a href="http://code.google.com/apis/chart/#chart_colors">more info about color settings</a></p>
|
136
144
|
|
137
145
|
|
146
|
+
<p><strong>sparkline chart</strong></p>
|
147
|
+
|
148
|
+
|
149
|
+
<p><pre class='syntax'>
|
150
|
+
<span class="ident">data</span> <span class="punct">=</span> <span class="punct">[</span><span class="number">27</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">27</span><span class="punct">,</span><span class="number">100</span><span class="punct">,</span><span class="number">31</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">36</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">39</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">31</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">26</span><span class="punct">,</span><span class="number">26</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">28</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">100</span><span class="punct">,</span><span class="number">28</span><span class="punct">,</span><span class="number">27</span><span class="punct">,</span><span class="number">31</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">27</span><span class="punct">,</span><span class="number">27</span><span class="punct">,</span><span class="number">29</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">27</span><span class="punct">,</span><span class="number">26</span><span class="punct">,</span><span class="number">26</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">26</span><span class="punct">,</span><span class="number">26</span><span class="punct">,</span><span class="number">35</span><span class="punct">,</span><span class="number">33</span><span class="punct">,</span><span class="number">34</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">26</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">36</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">26</span><span class="punct">,</span><span class="number">37</span><span class="punct">,</span><span class="number">33</span><span class="punct">,</span><span class="number">33</span><span class="punct">,</span><span class="number">37</span><span class="punct">,</span><span class="number">37</span><span class="punct">,</span><span class="number">39</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">25</span><span class="punct">,</span><span class="number">25</span><span class="punct">]</span>
|
151
|
+
<span class="constant">Gchart</span><span class="punct">.</span><span class="ident">sparkline</span><span class="punct">(</span><span class="symbol">:data</span> <span class="punct">=></span> <span class="ident">data</span><span class="punct">,</span> <span class="symbol">:size</span> <span class="punct">=></span> <span class="punct">'</span><span class="string">120x40</span><span class="punct">',</span> <span class="symbol">:line_colors</span> <span class="punct">=></span> <span class="punct">'</span><span class="string">0077CC</span><span class="punct">')</span>
|
152
|
+
</pre></p>
|
153
|
+
|
154
|
+
|
155
|
+
<p><img src="http://chart.apis.google.com/chart?chd=s:QPPPPQ9SPVPPXPSPPPPPPPRPP9RQSPQQRPQPPPPPVUUPPPVPPWUUWWXPPPP&chco=0077CC&chs=120x40&cht=ls" title="sparline" alt="sparline" /></p>
|
156
|
+
|
157
|
+
|
158
|
+
<p>A sparkline chart has exactly the same parameters as a line chart. The only difference is that the axes lines are not drawn for sparklines by default.</p>
|
159
|
+
|
160
|
+
|
138
161
|
<p><strong>bar chart</strong></p>
|
139
162
|
|
140
163
|
|
@@ -571,7 +594,7 @@ Data set:
|
|
571
594
|
<h2>Repository</h2>
|
572
595
|
|
573
596
|
|
574
|
-
<p>The trunk repository is <code>
|
597
|
+
<p>The trunk repository is <code>http://github.com/matta/googlecharts/</code> for anonymous access.</p>
|
575
598
|
|
576
599
|
|
577
600
|
<h2>License</h2>
|
@@ -585,7 +608,7 @@ Data set:
|
|
585
608
|
|
586
609
|
<p>Comments are welcome. Send an email to <a href="mailto:mattaimonetti@gmail.com">Matt Aimonetti</a></p>
|
587
610
|
<p class="coda">
|
588
|
-
<a href="mattaimonetti@gmail.com">Matt Aimonetti</a>,
|
611
|
+
<a href="mattaimonetti@gmail.com">Matt Aimonetti</a>, 7th May 2008<br>
|
589
612
|
Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
|
590
613
|
</p>
|
591
614
|
</div>
|
data/website/index.txt
CHANGED
@@ -9,7 +9,11 @@ h2. What
|
|
9
9
|
|
10
10
|
h2. Installing
|
11
11
|
|
12
|
-
|
12
|
+
This project is now hosted at "GitHub":http://github.com
|
13
|
+
If you never added "GitHub":http://github.com as a gem source, you will need to do the following:
|
14
|
+
<pre syntax="ruby">$ gem sources -a http://gems.github.com/</pre> (you only need to do this once)
|
15
|
+
|
16
|
+
<pre syntax="ruby">$ sudo gem install matta-googlecharts</pre>
|
13
17
|
|
14
18
|
h2. The basics
|
15
19
|
|
@@ -28,12 +32,14 @@ This gem supports the following types of charts:
|
|
28
32
|
!http://chart.apis.google.com/chart?cht=p&chd=s:world5&chs=200x125&chl=A|B|C|D|E|Fe(pie)! Gchart.pie()
|
29
33
|
|
30
34
|
!http://chart.apis.google.com/chart?cht=p3&chd=s:Uf9a&chs=200x100&chl=A|B|C|D(pie_3d)! Gchart.pie_3d()
|
35
|
+
|
36
|
+
!http://chart.apis.google.com/chart?chs=100x20&cht=ls&chco=0077CC&chm=B,E6F2FA,0,0,0&chls=1,0,0&chd=t:27,25,25,25,25,27,100,31,25,36,25,25,39,25,31,25,25,25,26,26,25,25,28,25,25,100,28,27,31,25,27,27,29,25,27,26,26,25,26,26,35,33,34,25,26,25,36,25,26,37,33,33,37,37,39,25,25,25,25(sparkline)!Gchart.sparkline()
|
31
37
|
|
32
38
|
|
33
39
|
h2. Demonstration of usage
|
34
40
|
|
35
41
|
install:
|
36
|
-
<code>sudo gem install googlecharts</code>
|
42
|
+
<code>sudo gem install matta-googlecharts</code>
|
37
43
|
|
38
44
|
require:
|
39
45
|
<pre syntax="ruby">require 'gchart'</pre>
|
@@ -74,6 +80,17 @@ Inserted in an image tag, it will look like that:
|
|
74
80
|
|
75
81
|
"more info about color settings":http://code.google.com/apis/chart/#chart_colors
|
76
82
|
|
83
|
+
*sparkline chart*
|
84
|
+
|
85
|
+
<pre syntax="ruby">
|
86
|
+
data = [27,25,25,25,25,27,100,31,25,36,25,25,39,25,31,25,25,25,26,26,25,25,28,25,25,100,28,27,31,25,27,27,29,25,27,26,26,25,26,26,35,33,34,25,26,25,36,25,26,37,33,33,37,37,39,25,25,25,25]
|
87
|
+
Gchart.sparkline(:data => data, :size => '120x40', :line_colors => '0077CC')
|
88
|
+
</pre>
|
89
|
+
|
90
|
+
!http://chart.apis.google.com/chart?chd=s:QPPPPQ9SPVPPXPSPPPPPPPRPP9RQSPQQRPQPPPPPVUUPPPVPPWUUWWXPPPP&chco=0077CC&chs=120x40&cht=ls(sparline)!
|
91
|
+
|
92
|
+
A sparkline chart has exactly the same parameters as a line chart. The only difference is that the axes lines are not drawn for sparklines by default.
|
93
|
+
|
77
94
|
*bar chart*
|
78
95
|
|
79
96
|
<pre syntax="ruby">
|
@@ -405,7 +422,7 @@ The max value option is a simple way of scaling your graph. The data is converte
|
|
405
422
|
|
406
423
|
h2. Repository
|
407
424
|
|
408
|
-
The trunk repository is <code>
|
425
|
+
The trunk repository is <code>http://github.com/matta/googlecharts/</code> for anonymous access.
|
409
426
|
|
410
427
|
h2. License
|
411
428
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: googlecharts
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Aimonetti
|
@@ -30,7 +30,7 @@ cert_chain:
|
|
30
30
|
ZR7qHIpykzr3ezcNiWtBWw==
|
31
31
|
-----END CERTIFICATE-----
|
32
32
|
|
33
|
-
date: 2008-
|
33
|
+
date: 2008-05-07 00:00:00 -07:00
|
34
34
|
default_executable:
|
35
35
|
dependencies: []
|
36
36
|
|
@@ -97,7 +97,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
97
97
|
requirements: []
|
98
98
|
|
99
99
|
rubyforge_project: googlecharts
|
100
|
-
rubygems_version: 1.
|
100
|
+
rubygems_version: 1.1.1
|
101
101
|
signing_key:
|
102
102
|
specification_version: 2
|
103
103
|
summary: description of gem
|
metadata.gz.sig
CHANGED
Binary file
|