lib/squid.rb in squid-0.0.0 vs lib/squid.rb in squid-1.0.0.beta1
- old
+ new
@@ -1,5 +1,37 @@
-# Provides a method to listen and respond to messages in a Campfire room.
+require 'prawn'
+require 'squid/graph'
+
module Squid
- def self.run(options = {})
+ # Provides the `chart` method to use in Prawn::Document
+ # @see http://prawnpdf.org/api-docs/2.0/Prawn/Document.html
+ module Interface
+ # Plots a graph the current document.
+ #
+ # @param [Hash<#to_s, [Hash<#to_s, Numeric>]>] data the series to plot in
+ # the graph. Each key is the name of the series, and each value contains
+ # the values for the series. Values are also a hash, where each key is
+ # a category, and each value the numerical value for that category.
+ # @param [Hash] settings the option to customize the graph.
+ # @option settings [Boolean] :baseline (true) whether to plot the baseline.
+ # @option settings [Boolean] :border (false) whether to plot the border.
+ # @option settings [Boolean] :chart (true) whether to plot the chart.
+ # @option settings [Array<String>] :colors (true) the color of each series.
+ # @option settings [Integer] :every (1) how often to plot the categories.
+ # @option settings [Symbol] :format (:integer) the format of axis values.
+ # @option settings [Numeric] :height (250) the full height of the graph.
+ # @option settings [Boolean] :labels (false) whether to plot value labels.
+ # @option settings [<Boolean, Hash>] :legend (true) whether to plot the
+ # legend. If a Hash is provided, the `:offset` option can be set to
+ # specify the offset between the legend and the right margin.
+ # @option settings [Numeric] :line_width (3) the line width for line graphs.
+ # @option settings [Numeric] :steps (4) the number of gridlines.
+ # @option settings [Boolean] :ticks (true) whether to plot the ticks.
+ # @option settings [Symbol] :type (:column) the type of graph.
+ def chart(data = {}, settings = {})
+ Graph.new(self, data, settings).draw
+ end
end
-end
\ No newline at end of file
+end
+
+# Extends Prawn::Document to include the `chart` methods
+Prawn::Document.extensions << Squid::Interface