teejayvanslyke-gruff 0.3.6

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.
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