googlecharts 1.5.3 → 1.5.4
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/VERSION +1 -1
- data/lib/gchart.rb +8 -11
- data/lib/gchart/version.rb +1 -1
- data/spec/gchart_spec.rb +13 -1
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.5.
|
1
|
+
1.5.4
|
data/lib/gchart.rb
CHANGED
@@ -104,10 +104,6 @@ class Gchart
|
|
104
104
|
def size=(size='300x200')
|
105
105
|
@width, @height = size.split("x").map { |dimension| dimension.to_i }
|
106
106
|
end
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
107
|
|
112
108
|
def size
|
113
109
|
"#{width}x#{height}"
|
@@ -208,6 +204,7 @@ class Gchart
|
|
208
204
|
end
|
209
205
|
|
210
206
|
unless axis_range
|
207
|
+
@calculated_axis_range = true
|
211
208
|
@axis_range = ds.map{|mds| [mds[:min_value], mds[:max_value]]}
|
212
209
|
if dimensions == 1 && (type.to_s != 'bar' || horizontal)
|
213
210
|
tmp = axis_range.fetch(0, [])
|
@@ -460,21 +457,21 @@ class Gchart
|
|
460
457
|
# a passed axis_range should look like:
|
461
458
|
# [[10,100]] or [[10,100,4]] or [[10,100], [20,300]]
|
462
459
|
# in the second example, 4 is the interval
|
463
|
-
|
460
|
+
if @calculated_axis_range
|
461
|
+
set = datasets
|
462
|
+
else
|
463
|
+
set = axis_range || datasets
|
464
|
+
end
|
464
465
|
# in the case of a line graph, the first axis range should 1
|
465
466
|
index_increase = type.to_s == 'line' ? 1 : 0
|
466
467
|
if set && set.respond_to?(:each) && set.first.respond_to?(:each)
|
467
|
-
'chxr=' +
|
468
|
-
[(index + index_increase), (min_value || range.first), (max_value || range.last)].compact.
|
468
|
+
'chxr=' + set.enum_for(:each_with_index).map do |range, index|
|
469
|
+
[(index + index_increase), (min_value || range.first), (max_value || range.last)].compact.join(',')
|
469
470
|
end.join("|")
|
470
471
|
else
|
471
472
|
nil
|
472
473
|
end
|
473
474
|
end
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
475
|
|
479
476
|
def set_geographical_area
|
480
477
|
"chtm=#{geographical_area}"
|
data/lib/gchart/version.rb
CHANGED
data/spec/gchart_spec.rb
CHANGED
@@ -44,7 +44,7 @@ describe "generating a default Gchart" do
|
|
44
44
|
it "should use the simple encoding by default with auto max value" do
|
45
45
|
# 9 is the max value in simple encoding, 26 being our max value the 2nd encoded value should be 9
|
46
46
|
Gchart.line(:data => [0, 26]).should include('chd=s:A9')
|
47
|
-
Gchart.line(:data => [0, 26], :max_value => 26).should
|
47
|
+
Gchart.line(:data => [0, 26], :max_value => 26).should include('chxr=1,0,26')
|
48
48
|
end
|
49
49
|
|
50
50
|
it "should support simple encoding with and without max_value" do
|
@@ -118,6 +118,18 @@ describe "generating a default Gchart" do
|
|
118
118
|
url.should include('chxr=1,85,593')
|
119
119
|
end
|
120
120
|
|
121
|
+
it "should force the y range properly" do
|
122
|
+
url = Gchart.bar(:data => [1,1,1,1,1,1,1,1,6,2,1,1],
|
123
|
+
:axis_with_labels => 'x,y',
|
124
|
+
:min_value => 0,
|
125
|
+
:max_value => 16,
|
126
|
+
:axis_labels => [1.upto(12).to_a],
|
127
|
+
:axis_range => [[0,0],[0,16]],
|
128
|
+
:encoding => "text"
|
129
|
+
)
|
130
|
+
url.should include('chxr=0,0,16|1,0,16')
|
131
|
+
end
|
132
|
+
|
121
133
|
it "should take in consideration the max value when creating a range" do
|
122
134
|
data = [85,107,123,131,155,172,173,189,203,222,217,233,250,239,256,267,247,261,275,295,288,305,322,307,325,347,331,346,363,382,343,359,383,352,374,393,358,379,396,416,377,398,419,380,409,426,453,432,452,465,436,460,480,440,457,474,501,457,489,507,347,373,413,402,424,448,475,488,513,475,507,530,440,476,500,518,481,512,531,367,396,423,387,415,446,478,442,469,492,463,489,508,463,491,518,549,503,526,547,493,530,549,493,520,541,564,510,535,564,492,512,537,502,530,548,491,514,538,568,524,548,568,512,533,552,577,520,545,570,516,536,555,514,536,566,521,553,579,604,541,569,595,551,581,602,549,576,606,631,589,615,650,597,624,646,672,605,626,654,584,608,631,574,597,622,559,591,614,644,580,603,629,584,615,631,558,591,618,641,314,356,395,397,429,450,421,454,477,507,458,490,560,593]
|
123
135
|
url = Gchart.line(:data => data, :axis_with_labels => 'x,y', :axis_labels => [(1.upto(24).to_a << 1)], :max_value => 700)
|
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.5.
|
4
|
+
version: 1.5.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Aimonetti
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-03-
|
12
|
+
date: 2010-03-17 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|