gruff 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +5 -5
  2. data/.editorconfig +14 -0
  3. data/.rubocop.yml +16 -0
  4. data/.rubocop_todo.yml +923 -0
  5. data/.travis.yml +21 -14
  6. data/{History.txt → CHANGELOG.md} +32 -25
  7. data/README.md +3 -2
  8. data/Rakefile +27 -18
  9. data/assets/bubble.png +0 -0
  10. data/assets/city_scene/background/0000.png +0 -0
  11. data/assets/city_scene/background/0600.png +0 -0
  12. data/assets/city_scene/background/2000.png +0 -0
  13. data/assets/city_scene/clouds/cloudy.png +0 -0
  14. data/assets/city_scene/clouds/partly_cloudy.png +0 -0
  15. data/assets/city_scene/clouds/stormy.png +0 -0
  16. data/assets/city_scene/grass/default.png +0 -0
  17. data/assets/city_scene/haze/true.png +0 -0
  18. data/assets/city_scene/number_sample/1.png +0 -0
  19. data/assets/city_scene/number_sample/2.png +0 -0
  20. data/assets/city_scene/number_sample/default.png +0 -0
  21. data/assets/city_scene/sky/0000.png +0 -0
  22. data/assets/city_scene/sky/0200.png +0 -0
  23. data/assets/city_scene/sky/0400.png +0 -0
  24. data/assets/city_scene/sky/0600.png +0 -0
  25. data/assets/city_scene/sky/0800.png +0 -0
  26. data/assets/city_scene/sky/1000.png +0 -0
  27. data/assets/city_scene/sky/1200.png +0 -0
  28. data/assets/city_scene/sky/1400.png +0 -0
  29. data/assets/city_scene/sky/1500.png +0 -0
  30. data/assets/city_scene/sky/1700.png +0 -0
  31. data/assets/city_scene/sky/2000.png +0 -0
  32. data/assets/pc306715.jpg +0 -0
  33. data/assets/plastik/blue.png +0 -0
  34. data/assets/plastik/green.png +0 -0
  35. data/assets/plastik/red.png +0 -0
  36. data/gruff.gemspec +12 -10
  37. data/lib/gruff.rb +2 -2
  38. data/lib/gruff/accumulator_bar.rb +2 -2
  39. data/lib/gruff/area.rb +1 -4
  40. data/lib/gruff/bar.rb +12 -13
  41. data/lib/gruff/bar_conversion.rb +11 -11
  42. data/lib/gruff/base.rb +36 -36
  43. data/lib/gruff/bezier.rb +1 -2
  44. data/lib/gruff/bullet.rb +7 -10
  45. data/lib/gruff/deprecated.rb +10 -11
  46. data/lib/gruff/dot.rb +3 -4
  47. data/lib/gruff/line.rb +13 -14
  48. data/lib/gruff/mini/bar.rb +3 -3
  49. data/lib/gruff/mini/legend.rb +7 -8
  50. data/lib/gruff/mini/pie.rb +6 -6
  51. data/lib/gruff/mini/side_bar.rb +7 -7
  52. data/lib/gruff/net.rb +2 -8
  53. data/lib/gruff/photo_bar.rb +9 -12
  54. data/lib/gruff/pie.rb +6 -6
  55. data/lib/gruff/scatter.rb +47 -51
  56. data/lib/gruff/scene.rb +17 -19
  57. data/lib/gruff/side_bar.rb +5 -8
  58. data/lib/gruff/side_stacked_bar.rb +24 -26
  59. data/lib/gruff/spider.rb +14 -15
  60. data/lib/gruff/stacked_area.rb +12 -16
  61. data/lib/gruff/stacked_bar.rb +50 -52
  62. data/lib/gruff/stacked_mixin.rb +2 -3
  63. data/lib/gruff/themes.rb +32 -33
  64. data/lib/gruff/version.rb +1 -1
  65. metadata +23 -67
  66. data/RELEASE.md +0 -30
  67. data/test/gruff_test_case.rb +0 -152
  68. data/test/image_compare.rb +0 -58
  69. data/test/test_accumulator_bar.rb +0 -51
  70. data/test/test_area.rb +0 -134
  71. data/test/test_bar.rb +0 -505
  72. data/test/test_base.rb +0 -33
  73. data/test/test_bezier.rb +0 -33
  74. data/test/test_bullet.rb +0 -26
  75. data/test/test_dot.rb +0 -263
  76. data/test/test_labels_for_null_data.rb +0 -27
  77. data/test/test_legend.rb +0 -68
  78. data/test/test_line.rb +0 -674
  79. data/test/test_mini_bar.rb +0 -33
  80. data/test/test_mini_pie.rb +0 -25
  81. data/test/test_mini_side_bar.rb +0 -36
  82. data/test/test_net.rb +0 -231
  83. data/test/test_photo.rb +0 -41
  84. data/test/test_pie.rb +0 -194
  85. data/test/test_scatter.rb +0 -270
  86. data/test/test_scene.rb +0 -100
  87. data/test/test_side_bar.rb +0 -56
  88. data/test/test_sidestacked_bar.rb +0 -105
  89. data/test/test_spider.rb +0 -226
  90. data/test/test_stacked_area.rb +0 -52
  91. data/test/test_stacked_bar.rb +0 -68
@@ -1,226 +0,0 @@
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 = Gruff::Themes::THIRTYSEVEN_SIGNALS
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
- def test_rotation
205
- g = Gruff::Spider.new(20)
206
- g.title = "Rotation"
207
- @datasets.each do |data|
208
- g.data(data[0], data[1])
209
- end
210
-
211
- g.rotation = 45 # degrees
212
- g.write("test/output/spider_rotation.png")
213
- end
214
-
215
- protected
216
-
217
- def setup_basic_graph(size=800, max = 20)
218
- g = Gruff::Spider.new(max, size)
219
- g.title = "My Graph Title"
220
- @datasets.each do |data|
221
- g.data(data[0], data[1])
222
- end
223
- return g
224
- end
225
-
226
- end
@@ -1,52 +0,0 @@
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
@@ -1,68 +0,0 @@
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
- def test_bar_graph_segment_spacing
53
- g = Gruff::StackedBar.new
54
- g.title = "Visual Stacked Bar Graph Test"
55
- g.segment_spacing = 0
56
- g.labels = {
57
- 0 => '5/6',
58
- 1 => '5/15',
59
- 2 => '5/24',
60
- 3 => '5/30',
61
- }
62
- @datasets.each do |data|
63
- g.data(data[0], data[1])
64
- end
65
- g.write "test/output/stacked_bar_keynote_no_space.png"
66
- end
67
-
68
- end