google_visualr 0.0.1 → 2.0.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/.gitignore +3 -0
- data/.rspec +2 -0
- data/.rvmrc +1 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +25 -0
- data/MIT-LICENSE +15 -14
- data/README.rdoc +59 -48
- data/Rakefile +9 -30
- data/google_visualr.gemspec +24 -0
- data/lib/google_visualr.rb +39 -0
- data/lib/google_visualr/base_chart.rb +40 -0
- data/lib/google_visualr/data_table.rb +277 -0
- data/lib/google_visualr/formatters.rb +78 -0
- data/lib/google_visualr/image/spark_line.rb +13 -0
- data/lib/google_visualr/interactive/annotated_time_line.rb +11 -0
- data/lib/google_visualr/interactive/area_chart.rb +13 -0
- data/lib/google_visualr/interactive/bar_chart.rb +13 -0
- data/lib/google_visualr/interactive/candlestick_chart.rb +13 -0
- data/lib/google_visualr/interactive/column_chart.rb +13 -0
- data/lib/google_visualr/interactive/combo_chart.rb +13 -0
- data/lib/google_visualr/interactive/gauge.rb +11 -0
- data/lib/google_visualr/interactive/geo_chart.rb +11 -0
- data/lib/google_visualr/interactive/intensity_map.rb +11 -0
- data/lib/google_visualr/interactive/line_chart.rb +13 -0
- data/lib/google_visualr/interactive/map.rb +11 -0
- data/lib/google_visualr/interactive/motion_chart.rb +11 -0
- data/lib/google_visualr/interactive/org_chart.rb +11 -0
- data/lib/google_visualr/interactive/pie_chart.rb +13 -0
- data/lib/google_visualr/interactive/scatter_chart.rb +13 -0
- data/lib/google_visualr/interactive/table.rb +11 -0
- data/lib/google_visualr/interactive/treemap.rb +11 -0
- data/lib/google_visualr/packages.rb +30 -0
- data/lib/google_visualr/param_helpers.rb +50 -0
- data/lib/google_visualr/version.rb +3 -0
- data/spec/google_visualr/base_chart_spec.rb +55 -0
- data/spec/google_visualr/data_table_spec.rb +251 -0
- data/spec/google_visualr/formatters_spec.rb +104 -0
- data/spec/spec_helper.rb +8 -0
- data/test/google_visualr_spec.rb +7 -0
- data/test/helper.rb +18 -0
- metadata +73 -36
- data/VERSION +0 -1
- data/init.rb +0 -17
- data/install.rb +0 -1
- data/lib/annotated_time_line.rb +0 -50
- data/lib/area_chart.rb +0 -54
- data/lib/bar_chart.rb +0 -53
- data/lib/base_chart.rb +0 -285
- data/lib/column_chart.rb +0 -53
- data/lib/formatters.rb +0 -184
- data/lib/gauge.rb +0 -36
- data/lib/geo_map.rb +0 -32
- data/lib/image_spark_line.rb +0 -36
- data/lib/intensity_map.rb +0 -29
- data/lib/line_chart.rb +0 -54
- data/lib/map.rb +0 -31
- data/lib/motion_chart.rb +0 -36
- data/lib/org_chart.rb +0 -29
- data/lib/pie_chart.rb +0 -44
- data/lib/scatter_chart.rb +0 -52
- data/lib/table.rb +0 -39
- data/uninstall.rb +0 -1
@@ -0,0 +1,251 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe GoogleVisualr::DataTable do
|
4
|
+
|
5
|
+
def valid_object
|
6
|
+
|
7
|
+
@cols = [
|
8
|
+
{ :id => 'A', :label => 'NEW A' , :type => 'string' },
|
9
|
+
{ :id => 'B', :label => 'B-label', :type => 'number' },
|
10
|
+
{ :id => 'C', :label => 'C-label', :type => 'date' }
|
11
|
+
]
|
12
|
+
@rows = [
|
13
|
+
{ :c => [ {:v => 'a'}, {:v => 1.0, :f => 'One'} , {:v => Date.parse('2008-02-28 00:31:26'), :f => '2/28/08 12:31 AM'} ] },
|
14
|
+
{ :c => [ {:v => 'b'}, {:v => 2.0, :f => 'Two'} , {:v => Date.parse('2008-03-30 00:31:26'), :f => '3/30/08 12:31 AM'} ] },
|
15
|
+
{ :c => [ {:v => 'c'}, {:v => 3.0, :f => 'Three'}, {:v => Date.parse('2008-04-30 00:31:26'), :f => '4/30/08 12:31 AM'} ] }
|
16
|
+
]
|
17
|
+
GoogleVisualr::DataTable.new({:cols => @cols, :rows => @rows})
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
describe "#new" do
|
22
|
+
it "initializes without params" do
|
23
|
+
dt = GoogleVisualr::DataTable.new
|
24
|
+
dt.should_not be_nil
|
25
|
+
dt.cols.should be_a_kind_of Array
|
26
|
+
dt.rows.should be_a_kind_of Array
|
27
|
+
end
|
28
|
+
|
29
|
+
it "initializes with params" do
|
30
|
+
dt = valid_object
|
31
|
+
|
32
|
+
@cols.size.times do |i|
|
33
|
+
dt.cols[i].should == @cols[i]
|
34
|
+
end
|
35
|
+
|
36
|
+
@rows.size.times do |i|
|
37
|
+
@cols.size.times do |j|
|
38
|
+
cell = dt.rows[i][j]
|
39
|
+
cell.should be_a_kind_of GoogleVisualr::DataTable::Cell
|
40
|
+
cell.v.should == @rows[i][:c][j][:v]
|
41
|
+
cell.f.should == @rows[i][:c][j][:f]
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
describe "#new_column" do
|
48
|
+
it "initializes a new column with only type param" do
|
49
|
+
dt = GoogleVisualr::DataTable.new
|
50
|
+
dt.new_column('string')
|
51
|
+
dt.cols.first.should == {:id => '', :label => '', :type => 'string'}
|
52
|
+
end
|
53
|
+
|
54
|
+
it "initializes a new column with all params" do
|
55
|
+
dt = GoogleVisualr::DataTable.new
|
56
|
+
dt.new_column('string', 'A LABEL', 'col_0')
|
57
|
+
dt.cols.first.should == {:id => 'col_0', :label => 'A LABEL', :type => 'string'}
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
describe "new_columns" do
|
62
|
+
it "initializes new columns" do
|
63
|
+
columns = [ {:id => 'A', :label => 'NEW A', :type => 'string'}, {:id => 'B', :label => 'NEW B', :type => 'string'} ]
|
64
|
+
|
65
|
+
dt = GoogleVisualr::DataTable.new
|
66
|
+
dt.new_columns(columns)
|
67
|
+
dt.cols.first.should == columns.first
|
68
|
+
dt.cols.last.should == columns.last
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
context "column values" do
|
73
|
+
before do
|
74
|
+
@dt = GoogleVisualr::DataTable.new
|
75
|
+
@dt.new_column({:type => 'number'})
|
76
|
+
@dt.set_column(0, [1,2,3])
|
77
|
+
end
|
78
|
+
|
79
|
+
describe "#set_column" do
|
80
|
+
it "sets a column of values to column #index" do
|
81
|
+
@dt.rows[0][0].v.should == 1
|
82
|
+
@dt.rows[1][0].v.should == 2
|
83
|
+
@dt.rows[2][0].v.should == 3
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
describe "#get_column" do
|
88
|
+
it "retrieves values in column #index" do
|
89
|
+
@dt.get_column(0).should == [1,2,3]
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
context "row values" do
|
95
|
+
before do
|
96
|
+
@dt = GoogleVisualr::DataTable.new
|
97
|
+
@dt.new_columns( [ {:type => 'number'}, {:type => 'string'} ] )
|
98
|
+
@dt.rows.should be_empty
|
99
|
+
end
|
100
|
+
|
101
|
+
describe "#add_row" do
|
102
|
+
context "when param is empty" do
|
103
|
+
it "adds an empty row to the data_table" do
|
104
|
+
@dt.add_row
|
105
|
+
@dt.rows.size.should == 1
|
106
|
+
@dt.rows[0].should be_empty
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
context "when param is not empty" do
|
111
|
+
it "adds the row values to the data_table" do
|
112
|
+
@dt.add_row([1, 'A'])
|
113
|
+
@dt.rows.size.should == 1
|
114
|
+
@dt.rows[0][0].v.should == 1
|
115
|
+
@dt.rows[0][1].v.should == 'A'
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
|
121
|
+
describe "#add_rows" do
|
122
|
+
context "when param is number" do
|
123
|
+
it "adds x number of empty rows to the data_table" do
|
124
|
+
@dt.add_rows(2)
|
125
|
+
@dt.rows.size.should == 2
|
126
|
+
@dt.rows[0].should be_empty
|
127
|
+
@dt.rows[1].should be_empty
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
context "when param is an array" do
|
132
|
+
it "adds the rows to the data_table" do
|
133
|
+
@dt.add_rows( [ [1, 'A'], [2, 'B'] ] )
|
134
|
+
@dt.rows.size.should == 2
|
135
|
+
|
136
|
+
@dt.rows[0][0].v.should == 1
|
137
|
+
@dt.rows[0][1].v.should == 'A'
|
138
|
+
@dt.rows[1][0].v.should == 2
|
139
|
+
@dt.rows[1][1].v.should == 'B'
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
describe "@get_row" do
|
145
|
+
it "retrieves values in row #index" do
|
146
|
+
@dt.add_rows( [ [1, 'A'], [2, 'B'] ] )
|
147
|
+
@dt.rows.size.should == 2
|
148
|
+
|
149
|
+
@dt.get_row(0).should == [1, 'A']
|
150
|
+
@dt.get_row(1).should == [2, 'B']
|
151
|
+
end
|
152
|
+
end
|
153
|
+
end
|
154
|
+
|
155
|
+
context "cell value" do
|
156
|
+
before do
|
157
|
+
@dt = GoogleVisualr::DataTable.new
|
158
|
+
@dt.new_columns( [ {:type => 'number'}, {:type => 'string'} ] )
|
159
|
+
@dt.add_row
|
160
|
+
end
|
161
|
+
|
162
|
+
|
163
|
+
describe "#set_cell" do
|
164
|
+
it "sets cell" do
|
165
|
+
@dt.set_cell(0, 0, 1000)
|
166
|
+
@dt.set_cell(0, 1, 'ABCD')
|
167
|
+
|
168
|
+
@dt.get_row(0).should == [1000, 'ABCD']
|
169
|
+
end
|
170
|
+
|
171
|
+
it "raises an exception if the row_index or column_index specified is out of range" do
|
172
|
+
expect {
|
173
|
+
@dt.set_cell(5, 0, 1000)
|
174
|
+
}.to raise_exception(RangeError)
|
175
|
+
|
176
|
+
expect {
|
177
|
+
@dt.set_cell(0, 5, 1000)
|
178
|
+
}.to raise_exception(RangeError)
|
179
|
+
end
|
180
|
+
|
181
|
+
it "raises an exception if the value does not correspond to its column type" do
|
182
|
+
expect {
|
183
|
+
@dt.set_cell(0, 0, 'ABCD')
|
184
|
+
}.to raise_exception(ArgumentError)
|
185
|
+
|
186
|
+
expect {
|
187
|
+
@dt.set_cell(0, 1, 1234)
|
188
|
+
}.to raise_exception(ArgumentError)
|
189
|
+
end
|
190
|
+
end
|
191
|
+
|
192
|
+
describe "#get_cell" do
|
193
|
+
it "gets cell" do
|
194
|
+
@dt.set_cell(0, 0, 1000)
|
195
|
+
@dt.get_cell(0, 0).should == 1000
|
196
|
+
end
|
197
|
+
|
198
|
+
it "raises an exception if the row_index or column_index specified is out of range" do
|
199
|
+
expect {
|
200
|
+
@dt.get_cell(0, 5)
|
201
|
+
}.to raise_exception(RangeError)
|
202
|
+
|
203
|
+
expect {
|
204
|
+
@dt.get_cell(5, 0)
|
205
|
+
}.to raise_exception(RangeError)
|
206
|
+
end
|
207
|
+
end
|
208
|
+
end
|
209
|
+
|
210
|
+
describe "#to_js" do
|
211
|
+
it "converts object to js string" do
|
212
|
+
dt = valid_object
|
213
|
+
js = dt.to_js
|
214
|
+
js.should match /google.visualization.DataTable/i
|
215
|
+
js.should match /addColumn/i
|
216
|
+
js.should match /addRow/i
|
217
|
+
end
|
218
|
+
end
|
219
|
+
|
220
|
+
describe "Cell" do
|
221
|
+
describe "#new" do
|
222
|
+
it "initializes with a value" do
|
223
|
+
cell = GoogleVisualr::DataTable::Cell.new(1)
|
224
|
+
cell.v.should == 1
|
225
|
+
end
|
226
|
+
|
227
|
+
it "initializes with a hash" do
|
228
|
+
cell = GoogleVisualr::DataTable::Cell.new({:v => 1, :f => "1.0", :p => "{style: 'border: 1px solid green;'}"})
|
229
|
+
cell.v.should == 1
|
230
|
+
cell.f.should == "1.0"
|
231
|
+
cell.p.should == "{style: 'border: 1px solid green;'}"
|
232
|
+
end
|
233
|
+
end
|
234
|
+
|
235
|
+
describe "#to_js" do
|
236
|
+
context "initialized with a value" do
|
237
|
+
it "returns a json string" do
|
238
|
+
cell = GoogleVisualr::DataTable::Cell.new(1)
|
239
|
+
cell.to_js.should == "{v: 1}"
|
240
|
+
end
|
241
|
+
end
|
242
|
+
|
243
|
+
context "initialized with a hash" do
|
244
|
+
it "returns a json string" do
|
245
|
+
cell = GoogleVisualr::DataTable::Cell.new({:v => 1, :f => "1.0", :p => "{style: 'border: 1px solid green;'}"})
|
246
|
+
cell.to_js.should == "{v: 1, f: '1.0', p: {style: 'border: 1px solid green;'}}"
|
247
|
+
end
|
248
|
+
end
|
249
|
+
end
|
250
|
+
end
|
251
|
+
end
|
@@ -0,0 +1,104 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe GoogleVisualr::Formatter do
|
4
|
+
def valid_object(params={})
|
5
|
+
GoogleVisualr::Formatter.new(params)
|
6
|
+
end
|
7
|
+
|
8
|
+
describe "#new" do
|
9
|
+
it "initializes without params" do
|
10
|
+
valid_object.instance_variable_get(:@options).should be_empty
|
11
|
+
end
|
12
|
+
|
13
|
+
it "initializes with params" do
|
14
|
+
formatter = valid_object( { :width => "150px" } )
|
15
|
+
formatter.instance_variable_get(:@options).should == { :width => "150px" }
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe "#columns" do
|
20
|
+
it "sets columns" do
|
21
|
+
formatter = valid_object
|
22
|
+
formatter.columns(0)
|
23
|
+
formatter.instance_variable_get(:@columns).should == [0]
|
24
|
+
formatter.columns(1,2)
|
25
|
+
formatter.instance_variable_get(:@columns).should == [1,2]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe "#options" do
|
30
|
+
it "sets options" do
|
31
|
+
formatter = valid_object
|
32
|
+
formatter.options( :width => "150px", :height => "150px" )
|
33
|
+
formatter.instance_variable_get(:@options).should == { "width" => "150px", "height" => "150px" }
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
context "GoogleVisualr::ArrowFormat" do
|
38
|
+
describe "#to_js" do
|
39
|
+
it "works" do
|
40
|
+
formatter = GoogleVisualr::ArrowFormat.new(:base => 100)
|
41
|
+
formatter.columns(1)
|
42
|
+
formatter.to_js.should == "\nvar formatter = new google.visualization.ArrowFormat({base: 100});\nformatter.format(data_table, 1);"
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
context "GoogleVisualr::BarFormat" do
|
48
|
+
describe "#to_js" do
|
49
|
+
it "works" do
|
50
|
+
formatter = GoogleVisualr::BarFormat.new(:base => 100, :colorNegative => 'red', :colorPositive => 'green', :drawZeroLine => false, :max => 1000, :min => -1000, :showValue => false, :width => '150px')
|
51
|
+
formatter.columns(1)
|
52
|
+
formatter.to_js.should == "\nvar formatter = new google.visualization.BarFormat({base: 100, colorNegative: 'red', colorPositive: 'green', drawZeroLine: false, max: 1000, min: -1000, showValue: false, width: '150px'});\nformatter.format(data_table, 1);"
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
context "GoogleVisualr::ColorFormat" do
|
58
|
+
describe "#add_range" do
|
59
|
+
it "sets color range" do
|
60
|
+
formatter = GoogleVisualr::ColorFormat.new
|
61
|
+
formatter.add_range(20000, nil, 'red', '#333333')
|
62
|
+
formatter.ranges.should == [ {:from => 20000, :to => nil , :color => "red", :bgcolor => "#333333"} ]
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
describe "#add_gradient_range" do
|
67
|
+
it "sets gradient color range" do
|
68
|
+
formatter = GoogleVisualr::ColorFormat.new
|
69
|
+
formatter.add_gradient_range(20000, nil, 'red', '#FFFFFF', '#333333')
|
70
|
+
formatter.gradient_ranges.should == [ {:from => 20000, :to => nil , :color => "red", :fromBgColor => "#FFFFFF", :toBgColor => "#333333"} ]
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
describe "#to_js" do
|
75
|
+
it "works" do
|
76
|
+
formatter = GoogleVisualr::ColorFormat.new
|
77
|
+
formatter.add_range(0, 1000, 'red', '#000000')
|
78
|
+
formatter.add_gradient_range(2000, nil, 'blue', '#FFFFFF', '#333333')
|
79
|
+
formatter.columns(1)
|
80
|
+
formatter.to_js.should == "\nvar formatter = new google.visualization.ColorFormat();\nformatter.addRange(0, 1000, 'red', '#000000');\nformatter.addGradientRange(2000, null, 'blue', '#FFFFFF', '#333333');\nformatter.format(data_table, 1);"
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
context "GoogleVisualr::DateFormat" do
|
86
|
+
describe "#to_js" do
|
87
|
+
it "works" do
|
88
|
+
formatter = GoogleVisualr::DateFormat.new(:formatType => 'long', :timeZone => 8)
|
89
|
+
formatter.columns(1)
|
90
|
+
formatter.to_js.should == "\nvar formatter = new google.visualization.DateFormat({formatType: 'long', timeZone: 8});\nformatter.format(data_table, 1);"
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
context "GoogleVisualr::NumberFormat" do
|
96
|
+
describe "#to_js" do
|
97
|
+
it "works" do
|
98
|
+
formatter = GoogleVisualr::NumberFormat.new(:decimalSymbol => '.', :fractionDigits => 4, :groupingSymbol => ',', :negativeColor => 'red', :negativeParens => false, :prefix => 'USD$', :suffix => '-')
|
99
|
+
formatter.columns(1)
|
100
|
+
formatter.to_js.should == "\nvar formatter = new google.visualization.NumberFormat({decimalSymbol: '.', fractionDigits: 4, groupingSymbol: ',', negativeColor: 'red', negativeParens: false, prefix: 'USD$', suffix: '-'});\nformatter.format(data_table, 1);"
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
data/spec/spec_helper.rb
ADDED
data/test/helper.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler'
|
3
|
+
begin
|
4
|
+
Bundler.setup(:default, :development)
|
5
|
+
rescue Bundler::BundlerError => e
|
6
|
+
$stderr.puts e.message
|
7
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
8
|
+
exit e.status_code
|
9
|
+
end
|
10
|
+
require 'test/unit'
|
11
|
+
require 'shoulda'
|
12
|
+
|
13
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
14
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
15
|
+
require 'google_visualr2'
|
16
|
+
|
17
|
+
class Test::Unit::TestCase
|
18
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google_visualr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease:
|
5
|
+
version: 2.0.0
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Winston Teo
|
@@ -9,12 +10,33 @@ autorequire:
|
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
12
|
|
12
|
-
date: 2011-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
13
|
+
date: 2011-07-01 00:00:00 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: bundler
|
17
|
+
prerelease: false
|
18
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
19
|
+
none: false
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 1.0.15
|
24
|
+
type: :development
|
25
|
+
version_requirements: *id001
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: rspec
|
28
|
+
prerelease: false
|
29
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
30
|
+
none: false
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: 2.6.0
|
35
|
+
type: :development
|
36
|
+
version_requirements: *id002
|
37
|
+
description: This Ruby gem, GoogleVisualr, is a wrapper around the Google Chart Tools that allows anyone to create the same beautiful charts with just Ruby; you don't have to write any JavaScript at all.
|
38
|
+
email:
|
39
|
+
- winston.yongwei+google_visualr@gmail.com
|
18
40
|
executables: []
|
19
41
|
|
20
42
|
extensions: []
|
@@ -22,32 +44,47 @@ extensions: []
|
|
22
44
|
extra_rdoc_files:
|
23
45
|
- README.rdoc
|
24
46
|
files:
|
47
|
+
- .gitignore
|
48
|
+
- .rspec
|
49
|
+
- .rvmrc
|
25
50
|
- CHANGELOG
|
26
|
-
-
|
27
|
-
-
|
51
|
+
- Gemfile
|
52
|
+
- Gemfile.lock
|
28
53
|
- MIT-LICENSE
|
29
|
-
- Rakefile
|
30
54
|
- README.rdoc
|
31
|
-
-
|
32
|
-
-
|
33
|
-
- lib/
|
34
|
-
- lib/
|
35
|
-
- lib/
|
36
|
-
- lib/
|
37
|
-
- lib/
|
38
|
-
- lib/
|
39
|
-
- lib/
|
40
|
-
- lib/
|
41
|
-
- lib/
|
42
|
-
- lib/
|
43
|
-
- lib/
|
44
|
-
- lib/
|
45
|
-
- lib/
|
46
|
-
- lib/
|
47
|
-
- lib/
|
48
|
-
- lib/
|
49
|
-
- lib/
|
50
|
-
|
55
|
+
- Rakefile
|
56
|
+
- google_visualr.gemspec
|
57
|
+
- lib/google_visualr.rb
|
58
|
+
- lib/google_visualr/base_chart.rb
|
59
|
+
- lib/google_visualr/data_table.rb
|
60
|
+
- lib/google_visualr/formatters.rb
|
61
|
+
- lib/google_visualr/image/spark_line.rb
|
62
|
+
- lib/google_visualr/interactive/annotated_time_line.rb
|
63
|
+
- lib/google_visualr/interactive/area_chart.rb
|
64
|
+
- lib/google_visualr/interactive/bar_chart.rb
|
65
|
+
- lib/google_visualr/interactive/candlestick_chart.rb
|
66
|
+
- lib/google_visualr/interactive/column_chart.rb
|
67
|
+
- lib/google_visualr/interactive/combo_chart.rb
|
68
|
+
- lib/google_visualr/interactive/gauge.rb
|
69
|
+
- lib/google_visualr/interactive/geo_chart.rb
|
70
|
+
- lib/google_visualr/interactive/intensity_map.rb
|
71
|
+
- lib/google_visualr/interactive/line_chart.rb
|
72
|
+
- lib/google_visualr/interactive/map.rb
|
73
|
+
- lib/google_visualr/interactive/motion_chart.rb
|
74
|
+
- lib/google_visualr/interactive/org_chart.rb
|
75
|
+
- lib/google_visualr/interactive/pie_chart.rb
|
76
|
+
- lib/google_visualr/interactive/scatter_chart.rb
|
77
|
+
- lib/google_visualr/interactive/table.rb
|
78
|
+
- lib/google_visualr/interactive/treemap.rb
|
79
|
+
- lib/google_visualr/packages.rb
|
80
|
+
- lib/google_visualr/param_helpers.rb
|
81
|
+
- lib/google_visualr/version.rb
|
82
|
+
- spec/google_visualr/base_chart_spec.rb
|
83
|
+
- spec/google_visualr/data_table_spec.rb
|
84
|
+
- spec/google_visualr/formatters_spec.rb
|
85
|
+
- spec/spec_helper.rb
|
86
|
+
- test/google_visualr_spec.rb
|
87
|
+
- test/helper.rb
|
51
88
|
homepage: https://github.com/winston/google_visualr
|
52
89
|
licenses: []
|
53
90
|
|
@@ -57,23 +94,23 @@ rdoc_options: []
|
|
57
94
|
require_paths:
|
58
95
|
- lib
|
59
96
|
required_ruby_version: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
60
98
|
requirements:
|
61
99
|
- - ">="
|
62
100
|
- !ruby/object:Gem::Version
|
63
101
|
version: "0"
|
64
|
-
version:
|
65
102
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
103
|
+
none: false
|
66
104
|
requirements:
|
67
105
|
- - ">="
|
68
106
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
70
|
-
version:
|
107
|
+
version: 1.3.6
|
71
108
|
requirements: []
|
72
109
|
|
73
|
-
rubyforge_project:
|
74
|
-
rubygems_version: 1.
|
110
|
+
rubyforge_project: google_visualr
|
111
|
+
rubygems_version: 1.8.5
|
75
112
|
signing_key:
|
76
113
|
specification_version: 3
|
77
|
-
summary:
|
114
|
+
summary: A Ruby wrapper around the Google Chart Tools that allows anyone to create the same beautiful charts with just plain Ruby.
|
78
115
|
test_files: []
|
79
116
|
|