googlecharts 1.5.0 → 1.5.1
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 +9 -4
- data/lib/gchart/version.rb +1 -1
- data/spec/gchart_spec.rb +12 -1
- metadata +1 -1
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.5.
|
1
|
+
1.5.1
|
data/lib/gchart.rb
CHANGED
@@ -59,7 +59,7 @@ class Gchart
|
|
59
59
|
DYNCLASSMETH
|
60
60
|
end
|
61
61
|
|
62
|
-
def version
|
62
|
+
def self.version
|
63
63
|
Gchart::VERSION::STRING
|
64
64
|
end
|
65
65
|
|
@@ -256,7 +256,7 @@ class Gchart
|
|
256
256
|
def write
|
257
257
|
io_or_file = filename || Gchart.default_filename
|
258
258
|
return io_or_file.write(fetch) if io_or_file.respond_to?(:write)
|
259
|
-
open(io_or_file, "
|
259
|
+
open(io_or_file, "wb+") { |io| io.write(fetch) }
|
260
260
|
end
|
261
261
|
|
262
262
|
# Format
|
@@ -435,8 +435,13 @@ class Gchart
|
|
435
435
|
# a passed axis_range should look like:
|
436
436
|
# [[10,100]] or [[10,100,4]] or [[10,100], [20,300]]
|
437
437
|
# in the second example, 4 is the interval
|
438
|
-
|
439
|
-
|
438
|
+
set = axis_range || datasets
|
439
|
+
# in the case of a line graph, the first axis range should 1
|
440
|
+
index_increase = type.to_s == 'line' ? 1 : 0
|
441
|
+
if set && set.respond_to?(:each) && set.first.respond_to?(:each)
|
442
|
+
'chxr=' + datasets.enum_for(:each_with_index).map do |range, index|
|
443
|
+
[(index + index_increase), (min_value || range.first), (max_value || range.last)].compact.uniq.join(',')
|
444
|
+
end.join("|")
|
440
445
|
else
|
441
446
|
nil
|
442
447
|
end
|
data/lib/gchart/version.rb
CHANGED
data/spec/gchart_spec.rb
CHANGED
@@ -111,7 +111,18 @@ describe "generating a default Gchart" do
|
|
111
111
|
Gchart.line(:axis_labels => [['Jan','July','Jan','July','Jan']]).include?(Gchart.jstize('chxl=0:|Jan|July|Jan|July|Jan')).should be_true
|
112
112
|
Gchart.line(:axis_labels => [['Jan','July','Jan','July','Jan'], ['0','100'], ['A','B','C'], ['2005','2006','2007']]).include?(Gchart.jstize('chxl=0:|Jan|July|Jan|July|Jan|1:|0|100|2:|A|B|C|3:|2005|2006|2007')).should be_true
|
113
113
|
end
|
114
|
-
|
114
|
+
|
115
|
+
it "should display ranges properly" do
|
116
|
+
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]
|
117
|
+
url = Gchart.line(:data => data, :axis_with_labels => 'x,y', :axis_labels => [(1.upto(24).to_a << 1)])
|
118
|
+
url.should include('chxr=1,85,593')
|
119
|
+
end
|
120
|
+
|
121
|
+
it "should take in consideration the max value when creating a range" do
|
122
|
+
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
|
+
url = Gchart.line(:data => data, :axis_with_labels => 'x,y', :axis_labels => [(1.upto(24).to_a << 1)], :max_value => 700)
|
124
|
+
url.should include('chxr=1,85,700')
|
125
|
+
end
|
115
126
|
|
116
127
|
end
|
117
128
|
|