teejayvanslyke-gruff 0.3.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. data/History.txt +117 -0
  2. data/MIT-LICENSE +21 -0
  3. data/Manifest.txt +81 -0
  4. data/README.txt +40 -0
  5. data/Rakefile +55 -0
  6. data/assets/bubble.png +0 -0
  7. data/assets/city_scene/background/0000.png +0 -0
  8. data/assets/city_scene/background/0600.png +0 -0
  9. data/assets/city_scene/background/2000.png +0 -0
  10. data/assets/city_scene/clouds/cloudy.png +0 -0
  11. data/assets/city_scene/clouds/partly_cloudy.png +0 -0
  12. data/assets/city_scene/clouds/stormy.png +0 -0
  13. data/assets/city_scene/grass/default.png +0 -0
  14. data/assets/city_scene/haze/true.png +0 -0
  15. data/assets/city_scene/number_sample/1.png +0 -0
  16. data/assets/city_scene/number_sample/2.png +0 -0
  17. data/assets/city_scene/number_sample/default.png +0 -0
  18. data/assets/city_scene/sky/0000.png +0 -0
  19. data/assets/city_scene/sky/0200.png +0 -0
  20. data/assets/city_scene/sky/0400.png +0 -0
  21. data/assets/city_scene/sky/0600.png +0 -0
  22. data/assets/city_scene/sky/0800.png +0 -0
  23. data/assets/city_scene/sky/1000.png +0 -0
  24. data/assets/city_scene/sky/1200.png +0 -0
  25. data/assets/city_scene/sky/1400.png +0 -0
  26. data/assets/city_scene/sky/1500.png +0 -0
  27. data/assets/city_scene/sky/1700.png +0 -0
  28. data/assets/city_scene/sky/2000.png +0 -0
  29. data/assets/pc306715.jpg +0 -0
  30. data/assets/plastik/blue.png +0 -0
  31. data/assets/plastik/green.png +0 -0
  32. data/assets/plastik/red.png +0 -0
  33. data/init.rb +2 -0
  34. data/lib/gruff/accumulator_bar.rb +27 -0
  35. data/lib/gruff/area.rb +58 -0
  36. data/lib/gruff/bar.rb +87 -0
  37. data/lib/gruff/bar_conversion.rb +46 -0
  38. data/lib/gruff/base.rb +1123 -0
  39. data/lib/gruff/bullet.rb +109 -0
  40. data/lib/gruff/deprecated.rb +39 -0
  41. data/lib/gruff/dot.rb +113 -0
  42. data/lib/gruff/line.rb +135 -0
  43. data/lib/gruff/mini/bar.rb +37 -0
  44. data/lib/gruff/mini/legend.rb +82 -0
  45. data/lib/gruff/mini/pie.rb +36 -0
  46. data/lib/gruff/mini/side_bar.rb +35 -0
  47. data/lib/gruff/net.rb +140 -0
  48. data/lib/gruff/photo_bar.rb +100 -0
  49. data/lib/gruff/pie.rb +126 -0
  50. data/lib/gruff/scene.rb +209 -0
  51. data/lib/gruff/side_bar.rb +118 -0
  52. data/lib/gruff/side_stacked_bar.rb +77 -0
  53. data/lib/gruff/spider.rb +130 -0
  54. data/lib/gruff/stacked_area.rb +67 -0
  55. data/lib/gruff/stacked_bar.rb +57 -0
  56. data/lib/gruff/stacked_mixin.rb +23 -0
  57. data/lib/gruff.rb +28 -0
  58. data/rails_generators/gruff/gruff_generator.rb +63 -0
  59. data/rails_generators/gruff/templates/controller.rb +32 -0
  60. data/rails_generators/gruff/templates/functional_test.rb +24 -0
  61. data/test/gruff_test_case.rb +123 -0
  62. data/test/test_accumulator_bar.rb +50 -0
  63. data/test/test_area.rb +134 -0
  64. data/test/test_bar.rb +321 -0
  65. data/test/test_base.rb +8 -0
  66. data/test/test_bullet.rb +26 -0
  67. data/test/test_dot.rb +273 -0
  68. data/test/test_legend.rb +68 -0
  69. data/test/test_line.rb +556 -0
  70. data/test/test_mini_bar.rb +33 -0
  71. data/test/test_mini_pie.rb +20 -0
  72. data/test/test_mini_side_bar.rb +37 -0
  73. data/test/test_net.rb +230 -0
  74. data/test/test_photo.rb +41 -0
  75. data/test/test_pie.rb +154 -0
  76. data/test/test_scene.rb +100 -0
  77. data/test/test_side_bar.rb +12 -0
  78. data/test/test_sidestacked_bar.rb +89 -0
  79. data/test/test_sidestacked_bar_percentile.rb +29 -0
  80. data/test/test_spider.rb +216 -0
  81. data/test/test_stacked_area.rb +52 -0
  82. data/test/test_stacked_bar.rb +52 -0
  83. metadata +167 -0
@@ -0,0 +1,216 @@
1
+ #!/usr/bin/ruby
2
+
3
+ require File.dirname(__FILE__) + "/gruff_test_case"
4
+
5
+ class TestGruffSpider < GruffTestCase
6
+
7
+ def setup
8
+ @datasets = [
9
+ [:Strength, [10]],
10
+ [:Dexterity, [16]],
11
+ [:Constitution, [12]],
12
+ [:Intelligence, [12]],
13
+ [:Wisdom, [10]],
14
+ ["Charisma", [16]],
15
+ ]
16
+
17
+ # @datasets = [
18
+ # [:Darren, [25]],
19
+ # [:Chris, [80]],
20
+ # [:Egbert, [22]],
21
+ # [:Adam, [95]],
22
+ # [:Bill, [90]],
23
+ # ["Frank", [5]],
24
+ # ["Zero", [0]],
25
+ # ]
26
+ end
27
+
28
+ def test_spider_graph
29
+ g = Gruff::Spider.new(20)
30
+ g.title = "Spider Graph Test"
31
+ @datasets.each do |data|
32
+ g.data(data[0], data[1])
33
+ end
34
+
35
+ # Default theme
36
+ g.write("test/output/spider_keynote.png")
37
+ end
38
+
39
+ def test_pie_graph_small
40
+ g = Gruff::Spider.new(20, 400)
41
+ g.title = "Visual Spider Graph Test Small"
42
+ @datasets.each do |data|
43
+ g.data(data[0], data[1])
44
+ end
45
+
46
+ # Default theme
47
+ g.write("test/output/spider_small.png")
48
+ end
49
+
50
+ def test_spider_graph_nearly_equal
51
+ g = Gruff::Spider.new(50)
52
+ g.title = "Spider Graph Nearly Equal"
53
+
54
+ g.data(:Blake, [41])
55
+ g.data(:Aaron, [42])
56
+ g.data(:Grouch, [40])
57
+ # g.data(:Snuffleupagus, [43])
58
+
59
+ g.write("test/output/spider_nearly_equal.png")
60
+ end
61
+
62
+ def test_pie_graph_equal
63
+ g = Gruff::Spider.new(50)
64
+ g.title = "Spider Graph Equal"
65
+
66
+ g.data(:Bert, [41])
67
+ g.data(:Adam, [41])
68
+ g.data(:Joe, [41])
69
+
70
+ g.write("test/output/spider_equal.png")
71
+ end
72
+
73
+ def test_pie_graph_zero
74
+ g = Gruff::Spider.new(2)
75
+ g.title = "Pie Graph Two One Zero"
76
+
77
+ g.data(:Bert, [0])
78
+ g.data(:Adam, [1])
79
+ g.data(:Sam, [2])
80
+
81
+ g.write("test/output/spider_zero.png")
82
+ end
83
+
84
+ def test_wide
85
+ g = setup_basic_graph('800x400')
86
+ g.title = "Wide spider"
87
+ g.write("test/output/spider_wide.png")
88
+ end
89
+
90
+ def test_label_size
91
+ g = setup_basic_graph()
92
+ g.title = "Spider With Small Legend"
93
+ g.legend_font_size = 10
94
+ g.write("test/output/spider_legend.png")
95
+
96
+ g = setup_basic_graph(400)
97
+ g.title = "Small spider With Small Legend"
98
+ g.legend_font_size = 10
99
+ g.write("test/output/spider_legend_small.png")
100
+ end
101
+
102
+ def test_theme_37signals
103
+ g = Gruff::Spider.new(20)
104
+ g.title = "Spider Graph Test"
105
+ @datasets.each do |data|
106
+ g.data(data[0], data[1])
107
+ end
108
+
109
+ g.theme_37signals
110
+
111
+ # Default theme
112
+ g.write("test/output/spider_37signals.png")
113
+ end
114
+
115
+ def test_no_axes
116
+ g = Gruff::Spider.new(20)
117
+ g.title = "Look ma, no axes"
118
+ g.hide_axes = true
119
+ @datasets.each do |data|
120
+ g.data(data[0], data[1])
121
+ end
122
+ g.write("test/output/spider_no_axes.png")
123
+
124
+ end
125
+
126
+ def test_no_print
127
+ g = Gruff::Spider.new(20)
128
+ g.title = "Should not print"
129
+ g.hide_text = true
130
+ @datasets.each do |data|
131
+ g.data(data[0], data[1])
132
+ end
133
+ g.write("test/output/spider_no_print.png")
134
+ end
135
+
136
+ def test_transparency
137
+ g = Gruff::Spider.new(20)
138
+ g.title = "Transparent background"
139
+ g.hide_text = true
140
+ g.transparent_background = true
141
+ g.hide_axes = true
142
+ @datasets.each do |data|
143
+ g.data(data[0], data[1])
144
+ end
145
+ g.write("test/output/spider_no_background.png")
146
+ end
147
+
148
+ def test_overlay
149
+ g = Gruff::Spider.new(20)
150
+ g.title = "George (blue) vs Sarah (white)"
151
+ @datasets.each do |data|
152
+ g.data(data[0], data[1])
153
+ end
154
+ g.write("test/output/spider_overlay_1.png")
155
+
156
+ g = Gruff::Spider.new(20)
157
+ g.title = "Transparent background"
158
+ g.hide_text = true
159
+ g.hide_axes = true
160
+ g.transparent_background = true
161
+ @datasets = [
162
+ [:Strength, [18]],
163
+ [:Dexterity, [10]],
164
+ [:Constitution, [18]],
165
+ [:Intelligence, [8]],
166
+ [:Wisdom, [14]],
167
+ ["Charisma", [4]],
168
+ ]
169
+ @datasets.each do |data|
170
+ g.data(data[0], data[1])
171
+ end
172
+ g.marker_color = "#4F6EFF"
173
+ g.write("test/output/spider_overlay_2.png")
174
+ end
175
+
176
+ def test_lots_of_data
177
+ g = Gruff::Spider.new(10)
178
+ @datasets = [[:a, [1]], [:b, [5]], [:c, [3]], [:d, [9]], [:e, [4]],
179
+ [:f, [7]], [:g, [0]], [:h, [4]], [:i, [6]], [:j, [0]],
180
+ [:k, [4]], [:l, [8]]]
181
+
182
+ @datasets.each do |data|
183
+ g.data(data[0], data[1])
184
+ end
185
+
186
+ g.title = "Sample Data"
187
+ g.write("test/output/spider_lots_of_data.png")
188
+ end
189
+
190
+ def test_lots_of_data_with_large_names
191
+ g = Gruff::Spider.new(10)
192
+ @datasets = [[:anteaters, [1]], [:bulls, [5]], [:cats, [3]], [:dogs, [9]], [:elephants, [4]],
193
+ [:frogs, [7]], [:giraffes, [0]], [:hamsters, [4]], [:iguanas, [6]],
194
+ [:jaguar, [0]], [:kangaroo, [4]], [:locust, [8]]]
195
+
196
+ @datasets.each do |data|
197
+ g.data(data[0], data[1])
198
+ end
199
+
200
+ g.title = "Zoo Inventory"
201
+ g.write("test/output/spider_lots_of_data_normal_names.png")
202
+ end
203
+
204
+
205
+ protected
206
+
207
+ def setup_basic_graph(size=800, max = 20)
208
+ g = Gruff::Spider.new(max, size)
209
+ g.title = "My Graph Title"
210
+ @datasets.each do |data|
211
+ g.data(data[0], data[1])
212
+ end
213
+ return g
214
+ end
215
+
216
+ end
@@ -0,0 +1,52 @@
1
+ #!/usr/bin/ruby
2
+
3
+ require File.dirname(__FILE__) + "/gruff_test_case"
4
+
5
+ class TestGruffStackedArea < GruffTestCase
6
+
7
+ def setup
8
+ @datasets = [
9
+ [:Jimmy, [25, 36, 86, 39]],
10
+ [:Charles, [80, 54, 67, 54]],
11
+ [:Julie, [22, 29, 35, 38]],
12
+ ]
13
+ @sample_labels = {
14
+ 0 => '5/6',
15
+ 1 => '5/15',
16
+ 2 => '5/24'
17
+ }
18
+
19
+ end
20
+
21
+ def test_area_graph
22
+ g = Gruff::StackedArea.new
23
+ g.title = "Visual Stacked Area Graph Test"
24
+ g.labels = {
25
+ 0 => '5/6',
26
+ 1 => '5/15',
27
+ 2 => '5/24',
28
+ 3 => '5/30',
29
+ }
30
+ @datasets.each do |data|
31
+ g.data(data[0], data[1])
32
+ end
33
+ g.write "test/output/stacked_area_keynote.png"
34
+ end
35
+
36
+
37
+ def test_area_graph_small
38
+ g = Gruff::StackedArea.new(400)
39
+ g.title = "Visual Stacked Area Graph Test"
40
+ g.labels = {
41
+ 0 => '5/6',
42
+ 1 => '5/15',
43
+ 2 => '5/24',
44
+ 3 => '5/30',
45
+ }
46
+ @datasets.each do |data|
47
+ g.data(data[0], data[1])
48
+ end
49
+ g.write "test/output/stacked_area_keynote_small.png"
50
+ end
51
+
52
+ end
@@ -0,0 +1,52 @@
1
+ #!/usr/bin/ruby
2
+
3
+ require File.dirname(__FILE__) + "/gruff_test_case"
4
+
5
+ class TestGruffStackedBar < GruffTestCase
6
+
7
+ def setup
8
+ @datasets = [
9
+ [:Jimmy, [25, 36, 86, 39]],
10
+ [:Charles, [80, 54, 67, 54]],
11
+ [:Julie, [22, 29, 35, 38]],
12
+ ]
13
+ @sample_labels = {
14
+ 0 => '5/6',
15
+ 1 => '5/15',
16
+ 2 => '5/24'
17
+ }
18
+
19
+ end
20
+
21
+ def test_bar_graph
22
+ g = Gruff::StackedBar.new
23
+ g.title = "Visual Stacked Bar Graph Test"
24
+ g.labels = {
25
+ 0 => '5/6',
26
+ 1 => '5/15',
27
+ 2 => '5/24',
28
+ 3 => '5/30',
29
+ }
30
+ @datasets.each do |data|
31
+ g.data(data[0], data[1])
32
+ end
33
+ g.write "test/output/stacked_bar_keynote.png"
34
+ end
35
+
36
+
37
+ def test_bar_graph_small
38
+ g = Gruff::StackedBar.new(400)
39
+ g.title = "Visual Stacked Bar Graph Test"
40
+ g.labels = {
41
+ 0 => '5/6',
42
+ 1 => '5/15',
43
+ 2 => '5/24',
44
+ 3 => '5/30',
45
+ }
46
+ @datasets.each do |data|
47
+ g.data(data[0], data[1])
48
+ end
49
+ g.write "test/output/stacked_bar_keynote_small.png"
50
+ end
51
+
52
+ end
metadata ADDED
@@ -0,0 +1,167 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: teejayvanslyke-gruff
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.6
5
+ platform: ruby
6
+ authors:
7
+ - Geoffrey Grosenbach
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-10-07 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: hoe
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 2.3.3
24
+ version:
25
+ description: Beautiful graphs for one or multiple datasets. Can be used on websites or in documents.
26
+ email: boss@topfunky.com
27
+ executables: []
28
+
29
+ extensions: []
30
+
31
+ extra_rdoc_files:
32
+ - History.txt
33
+ - Manifest.txt
34
+ - README.txt
35
+ files:
36
+ - History.txt
37
+ - MIT-LICENSE
38
+ - Manifest.txt
39
+ - README.txt
40
+ - Rakefile
41
+ - assets/bubble.png
42
+ - assets/city_scene/background/0000.png
43
+ - assets/city_scene/background/0600.png
44
+ - assets/city_scene/background/2000.png
45
+ - assets/city_scene/clouds/cloudy.png
46
+ - assets/city_scene/clouds/partly_cloudy.png
47
+ - assets/city_scene/clouds/stormy.png
48
+ - assets/city_scene/grass/default.png
49
+ - assets/city_scene/haze/true.png
50
+ - assets/city_scene/number_sample/1.png
51
+ - assets/city_scene/number_sample/2.png
52
+ - assets/city_scene/number_sample/default.png
53
+ - assets/city_scene/sky/0000.png
54
+ - assets/city_scene/sky/0200.png
55
+ - assets/city_scene/sky/0400.png
56
+ - assets/city_scene/sky/0600.png
57
+ - assets/city_scene/sky/0800.png
58
+ - assets/city_scene/sky/1000.png
59
+ - assets/city_scene/sky/1200.png
60
+ - assets/city_scene/sky/1400.png
61
+ - assets/city_scene/sky/1500.png
62
+ - assets/city_scene/sky/1700.png
63
+ - assets/city_scene/sky/2000.png
64
+ - assets/pc306715.jpg
65
+ - assets/plastik/blue.png
66
+ - assets/plastik/green.png
67
+ - assets/plastik/red.png
68
+ - init.rb
69
+ - lib/gruff.rb
70
+ - lib/gruff/accumulator_bar.rb
71
+ - lib/gruff/area.rb
72
+ - lib/gruff/bar.rb
73
+ - lib/gruff/bar_conversion.rb
74
+ - lib/gruff/base.rb
75
+ - lib/gruff/bullet.rb
76
+ - lib/gruff/deprecated.rb
77
+ - lib/gruff/dot.rb
78
+ - lib/gruff/line.rb
79
+ - lib/gruff/mini/bar.rb
80
+ - lib/gruff/mini/legend.rb
81
+ - lib/gruff/mini/pie.rb
82
+ - lib/gruff/mini/side_bar.rb
83
+ - lib/gruff/net.rb
84
+ - lib/gruff/photo_bar.rb
85
+ - lib/gruff/pie.rb
86
+ - lib/gruff/scene.rb
87
+ - lib/gruff/side_bar.rb
88
+ - lib/gruff/side_stacked_bar.rb
89
+ - lib/gruff/spider.rb
90
+ - lib/gruff/stacked_area.rb
91
+ - lib/gruff/stacked_bar.rb
92
+ - lib/gruff/stacked_mixin.rb
93
+ - rails_generators/gruff/gruff_generator.rb
94
+ - rails_generators/gruff/templates/controller.rb
95
+ - rails_generators/gruff/templates/functional_test.rb
96
+ - test/gruff_test_case.rb
97
+ - test/test_accumulator_bar.rb
98
+ - test/test_area.rb
99
+ - test/test_bar.rb
100
+ - test/test_base.rb
101
+ - test/test_bullet.rb
102
+ - test/test_dot.rb
103
+ - test/test_legend.rb
104
+ - test/test_line.rb
105
+ - test/test_mini_bar.rb
106
+ - test/test_mini_pie.rb
107
+ - test/test_mini_side_bar.rb
108
+ - test/test_net.rb
109
+ - test/test_photo.rb
110
+ - test/test_pie.rb
111
+ - test/test_scene.rb
112
+ - test/test_side_bar.rb
113
+ - test/test_sidestacked_bar.rb
114
+ - test/test_spider.rb
115
+ - test/test_stacked_area.rb
116
+ - test/test_stacked_bar.rb
117
+ has_rdoc: true
118
+ homepage: http://nubyonrails.com/pages/gruff
119
+ licenses: []
120
+
121
+ post_install_message:
122
+ rdoc_options:
123
+ - --main
124
+ - README.txt
125
+ require_paths:
126
+ - lib
127
+ required_ruby_version: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: "0"
132
+ version:
133
+ required_rubygems_version: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: "0"
138
+ version:
139
+ requirements: []
140
+
141
+ rubyforge_project: gruff
142
+ rubygems_version: 1.3.4
143
+ signing_key:
144
+ specification_version: 3
145
+ summary: Beautiful graphs for one or multiple datasets.
146
+ test_files:
147
+ - test/test_accumulator_bar.rb
148
+ - test/test_area.rb
149
+ - test/test_bar.rb
150
+ - test/test_base.rb
151
+ - test/test_bullet.rb
152
+ - test/test_dot.rb
153
+ - test/test_legend.rb
154
+ - test/test_line.rb
155
+ - test/test_mini_bar.rb
156
+ - test/test_mini_pie.rb
157
+ - test/test_mini_side_bar.rb
158
+ - test/test_net.rb
159
+ - test/test_photo.rb
160
+ - test/test_pie.rb
161
+ - test/test_scene.rb
162
+ - test/test_side_bar.rb
163
+ - test/test_sidestacked_bar.rb
164
+ - test/test_sidestacked_bar_percentile.rb
165
+ - test/test_spider.rb
166
+ - test/test_stacked_area.rb
167
+ - test/test_stacked_bar.rb