Well, it seems I forgot to add the acts_as_authenticated to the repository on my...
[selectricity-live] / vendor / plugins / gruff / lib / gruff / accumulator_bar.rb
diff --git a/vendor/plugins/gruff/lib/gruff/accumulator_bar.rb b/vendor/plugins/gruff/lib/gruff/accumulator_bar.rb
new file mode 100644 (file)
index 0000000..310e193
--- /dev/null
@@ -0,0 +1,27 @@
+require File.dirname(__FILE__) + '/base'
+
+##
+# A special bar graph that shows a single dataset as a set of
+# stacked bars. The bottom bar shows the running total and 
+# the top bar shows the new value being added to the array.
+
+class Gruff::AccumulatorBar < Gruff::StackedBar
+
+  def draw
+    raise(Gruff::IncorrectNumberOfDatasetsException) unless @data.length == 1
+    
+    accumulator_array = []
+    index = 0
+
+    increment_array = @data.first[DATA_VALUES_INDEX].inject([]) {|memo, value| 
+        memo << ((index > 0) ? (value + memo.max) : value)
+        accumulator_array << memo[index] - value
+        index += 1
+        memo
+      }
+    data "Accumulator", accumulator_array
+    
+    super
+  end
+
+end

Benjamin Mako Hill || Want to submit a patch?