documentation done; THIS FINALLY IS V0.1 - reportable - Fork of reportable required by WarVox, from hdm/reportable.
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
---
(DIR) commit a90c63b9ab845475800848a611f27a91b564bfa8
(DIR) parent 793ccc345c8f37fa8cbfc3eb8579779d1c248ffa
(HTM) Author: marcoow <marco.otte-witte@simplabs.com>
Date: Fri, 12 Dec 2008 03:19:05 +0800
documentation done; THIS FINALLY IS V0.1
Signed-off-by: Marco Otte-Witte <marco.otte-witte@simplabs.com>
Diffstat:
M README.rdoc | 36 +++++++++++++++----------------
M lib/kvlr/reports_as_sparkline.rb | 2 +-
M lib/kvlr/reports_as_sparkline/asse… | 8 ++++----
M lib/kvlr/reports_as_sparkline/grou… | 5 ++---
M lib/kvlr/reports_as_sparkline/repo… | 18 ++++++++++++++++++
M lib/kvlr/reports_as_sparkline/repo… | 10 ++++++++++
M rdoc/classes/Kvlr/CoreExtensions/D… | 12 ++++++------
M rdoc/classes/Kvlr/ReportsAsSparkli… | 24 ++++++++++++++++--------
M rdoc/classes/Kvlr/ReportsAsSparkli… | 5 +++--
M rdoc/classes/Kvlr/ReportsAsSparkli… | 17 ++++++++++-------
M rdoc/classes/Kvlr/ReportsAsSparkli… | 135 +++++++++----------------------
M rdoc/classes/Kvlr/ReportsAsSparkli… | 132 ++++++++++++++++++++++---------
D rdoc/classes/Kvlr/ReportsAsSparkli… | 167 -------------------------------
M rdoc/classes/Kvlr/ReportsAsSparkli… | 202 ++++++++++++++-----------------
M rdoc/created.rid | 2 +-
M rdoc/files/README_rdoc.html | 42 +++++++++++++------------------
M rdoc/files/lib/kvlr/reports_as_spa… | 2 +-
M rdoc/files/lib/kvlr/reports_as_spa… | 2 +-
M rdoc/files/lib/kvlr/reports_as_spa… | 2 +-
M rdoc/files/lib/kvlr/reports_as_spa… | 2 +-
M rdoc/files/lib/kvlr/reports_as_spa… | 2 +-
M rdoc/files/lib/kvlr/reports_as_spa… | 2 +-
M rdoc/files/lib/kvlr/reports_as_spa… | 2 +-
M rdoc/fr_class_index.html | 1 -
M rdoc/fr_method_index.html | 21 ++++++++-------------
25 files changed, 348 insertions(+), 505 deletions(-)
---
(DIR) diff --git a/README.rdoc b/README.rdoc
@@ -1,29 +1,27 @@
= ReportsAsSparkline
-ReportsAsSparkline enables you to generate reports and sparklines from your database with very little effort.
+ReportsAsSparkline enables you to generate reports and sparklines from your model's data with very little effort.
-### Example
+== Example
-This shows the first basic usage. Consider the following user model, including *created_at* and *activated_at* timestamp fields.
+This shows the basic usage. Consider the following user model, including +created_at+ and +activated_at+ timestamp fields.
- class User < ActiveRecord::Base
- report_as_sparkline :registrations
- report_as_sparkline :activations, :date_column => :activated_at
- report_as_sparkline :total_users, :cumulate => :registrations
+ class User < ActiveRecord::Base
+ report_as_sparkline :registrations
+ report_as_sparkline :activations, :date_column_name => :activated_at
+ report_as_sparkline :total_users, :cumulate => true
end
-Using *report_as_sparkline* like this will add the following class methods to your User model:
-
- # Generates a sparkline from the google chart api
- # so you see the registrations per day
- User.registrations_graph
-
- # Gets an array of the data to use in numerical display
- User.registrations_report
-
-### Implemented features
-* cumulate option that depends on other report
-
+Using +report_as_sparkline+ like this will add the following class methods to your User model:
+
+ User.registrations_report
+ User.activations_report
+ User.total_users_report
+
+You can than render sparklines for these reports with sparkline_tag in your view:
+
+ <%= sparkline_tag(User.registrations_report) %>
+
== TODOs/ future plans
* support for Oracle and DB2 (and others?) missing
(DIR) diff --git a/lib/kvlr/reports_as_sparkline.rb b/lib/kvlr/reports_as_sparkline.rb
@@ -8,7 +8,7 @@ module Kvlr #:nodoc:
module ClassMethods
- # Generates a report on a model. The report can then be executed via <name>_report
+ # Generates a report on a model. That report can then be executed via the new method <name>_report (see documentation of Kvlr::ReportsAsSparkline::Report#run).
#
# ==== Parameters
#
(DIR) diff --git a/lib/kvlr/reports_as_sparkline/asset_tag_helper.rb b/lib/kvlr/reports_as_sparkline/asset_tag_helper.rb
@@ -8,13 +8,13 @@ module Kvlr #:nodoc:
#
# ==== Parameters
#
- # *<tt>data</tt> - The data to render the sparkline for
+ # * <tt>data</tt> - The data to render the sparkline for
#
# ==== Options
#
- # *<tt>width</tt> - The width of the generated image
- # *<tt>height</tt> - The height of the generated image
- # *<tt>color</tt> - The base color of the generated image (hex code)
+ # * <tt>width</tt> - The width of the generated image
+ # * <tt>height</tt> - The height of the generated image
+ # * <tt>color</tt> - The base color of the generated image (hex code)
#
# ==== Example
# <%= sparkline_tag(User.registrations_report, :width => 200, :height => 100, :color => '000') %>
(DIR) diff --git a/lib/kvlr/reports_as_sparkline/grouping.rb b/lib/kvlr/reports_as_sparkline/grouping.rb
@@ -3,11 +3,10 @@ module Kvlr #:nodoc:
module ReportsAsSparkline #:nodoc:
# This is the grouping a report uses to group records in the database
- #
- # ==== Parameters
- # * <tt>identifier</tt> - The identifier of the grouping - one of :hour, :day, :week or :month
class Grouping
+ # ==== Parameters
+ # * <tt>identifier</tt> - The identifier of the grouping - one of :hour, :day, :week or :month
def initialize(identifier)
raise ArgumentError.new("Invalid grouping #{grouping}") unless [:hour, :day, :week, :month].include?(identifier)
@identifier = identifier
(DIR) diff --git a/lib/kvlr/reports_as_sparkline/report.rb b/lib/kvlr/reports_as_sparkline/report.rb
@@ -2,10 +2,23 @@ module Kvlr #:nodoc:
module ReportsAsSparkline #:nodoc:
+ # The Report class that does all the data retrieval and calculations
class Report
attr_reader :klass, :name, :date_column_name, :value_column_name, :grouping, :aggregation
+ # ==== Parameters
+ # * <tt>klass</tt> - The model the report works on (This is the class you invoke Kvlr::ReportsAsSparkline::ClassMethods#report_as_sparkline on)
+ # * <tt>name</tt> - The name of the report (as in Kvlr::ReportsAsSparkline::ClassMethods#report_as_sparkline)
+ #
+ # ==== Options
+ #
+ # * <tt>:date_column_name</tt> - The name of the date column on that the records are aggregated
+ # * <tt>:value_column_name</tt> - The name of the column that holds the value to sum for aggregation :sum
+ # * <tt>:aggregation</tt> - The aggregation to use (either :count or :sum); when using :sum, :value_column_name must also be specified
+ # * <tt>:grouping</tt> - The period records are grouped on (:hour, :day, :week, :month)
+ # * <tt>:limit</tt> - The number of periods to get (see :grouping)
+ # * <tt>:conditions</tt> - Conditions like in ActiveRecord::Base#find; only records that match there conditions are reported on
def initialize(klass, name, options = {})
ensure_valid_options(options)
@klass = klass
@@ -21,6 +34,11 @@ module Kvlr #:nodoc:
@options.merge!(options)
end
+ # Runs the report and returns an array of array of DateTimes and Floats
+ #
+ # ==== Options
+ # * <tt>:limit</tt> - The number of periods to get
+ # * <tt>:conditions</tt> - Conditions like in ActiveRecord::Base#find; only records that match there conditions are reported on (<b>Beware that when you specify conditions here, caching will be disabled</b>)
def run(options = {})
ensure_valid_options(options, :run)
custom_conditions = options.key?(:conditions)
(DIR) diff --git a/lib/kvlr/reports_as_sparkline/reporting_period.rb b/lib/kvlr/reports_as_sparkline/reporting_period.rb
@@ -2,15 +2,24 @@ module Kvlr #:nodoc:
module ReportsAsSparkline #:nodoc:
+ # A ReportingPeriod is - depending on the Grouping - either a specific hour, a day, a month or a year. All records falling into this period will be grouped.
class ReportingPeriod
attr_reader :date_time, :grouping
+ # ==== Parameters
+ # * <tt>grouping</tt> - The Kvlr::ReportsAsSparkline::Grouping of the reporting period
+ # * <tt>date_time</tt> - The DateTime that reporting period is created for
def initialize(grouping, date_time = DateTime.now)
@grouping = grouping
@date_time = parse_date_time(date_time)
end
+ # Returns the first reporting period for a grouping and a limit; e.g. the first reporting period for Grouping :day and limit 2 would be Time.now - 2.days
+ #
+ # ==== Parameters
+ # * <tt>grouping</tt> - The Kvlr::ReportsAsSparkline::Grouping of the reporting period
+ # * <tt>limit</tt> - The number of reporting periods until the first one
def self.first(grouping, limit)
return case grouping.identifier
when :hour
@@ -40,6 +49,7 @@ module Kvlr #:nodoc:
result
end
+ # Returns the previous reporting period
def previous
return case @grouping.identifier
when :hour
(DIR) diff --git a/rdoc/classes/Kvlr/CoreExtensions/DateTime.html b/rdoc/classes/Kvlr/CoreExtensions/DateTime.html
@@ -80,7 +80,7 @@
<h3 class="section-bar">Methods</h3>
<div class="name-list">
- <a href="#M000016">to_reporting_period</a>
+ <a href="#M000011">to_reporting_period</a>
</div>
</div>
@@ -102,11 +102,11 @@
<div id="methods">
<h3 class="section-bar">Public Instance methods</h3>
- <div id="method-M000016" class="method-detail">
- <a name="M000016"></a>
+ <div id="method-M000011" class="method-detail">
+ <a name="M000011"></a>
<div class="method-heading">
- <a href="#M000016" class="method-signature">
+ <a href="#M000011" class="method-signature">
<span class="method-name">to_reporting_period</span><span class="method-args">(grouping)</span>
</a>
</div>
@@ -117,8 +117,8 @@ Converts the <a href="DateTime.html">DateTime</a> into a <a
href="../ReportsAsSparkline/ReportingPeriod.html">Kvlr::ReportsAsSparkline::ReportingPeriod</a>
</p>
<p><a class="source-toggle" href="#"
- onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000016-source">
+ onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
+ <div class="method-source-code" id="M000011-source">
<pre>
<span class="ruby-comment cmt"># File lib/kvlr/core_extensions/date_time.rb, line 10</span>
10: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_reporting_period</span>(<span class="ruby-identifier">grouping</span>)
(DIR) diff --git a/rdoc/classes/Kvlr/ReportsAsSparkline/AssetTagHelper.html b/rdoc/classes/Kvlr/ReportsAsSparkline/AssetTagHelper.html
@@ -116,15 +116,23 @@
Renders a sparkline with the given data.
</p>
<h4>Parameters</h4>
-<p>
-*<tt>data</tt> - The data to render the sparkline for
-</p>
+<ul>
+<li><tt>data</tt> - The data to render the sparkline for
+
+</li>
+</ul>
<h4>Options</h4>
-<p>
-*<tt>width</tt> - The width of the generated image *<tt>height</tt> - The
-height of the generated image *<tt>color</tt> - The base color of the
-generated image (hex code)
-</p>
+<ul>
+<li><tt>width</tt> - The width of the generated image
+
+</li>
+<li><tt>height</tt> - The height of the generated image
+
+</li>
+<li><tt>color</tt> - The base color of the generated image (hex code)
+
+</li>
+</ul>
<h4>Example</h4>
<p>
<%= <a
(DIR) diff --git a/rdoc/classes/Kvlr/ReportsAsSparkline/ClassMethods.html b/rdoc/classes/Kvlr/ReportsAsSparkline/ClassMethods.html
@@ -113,8 +113,9 @@
<div class="method-description">
<p>
-Generates a report on a model. The report can then be executed via
-<name>_report
+Generates a report on a model. That report can then be executed via the new
+method <name>_report (see documentation of <a
+href="Report.html#M000010">Kvlr::ReportsAsSparkline::Report#run</a>).
</p>
<h4>Parameters</h4>
<ul>
(DIR) diff --git a/rdoc/classes/Kvlr/ReportsAsSparkline/CumulatedReport.html b/rdoc/classes/Kvlr/ReportsAsSparkline/CumulatedReport.html
@@ -88,9 +88,12 @@ href="Report.html">Kvlr::ReportsAsSparkline::Report</a>)
<h4>Examples</h4>
<pre>
When Kvlr::ReportsAsSparkline::Report returns
- [[<DateTime today>, 1], [<DateTime yesterday>, 2]]
+
+ [[<DateTime today>, 1], [<DateTime yesterday>, 2], etc.]
+
Kvlr::ReportsAsSparkline::CumulatedReport returns
- [[<DateTime today>, 3], [<DateTime yesterday>, 2]]
+
+ [[<DateTime today>, 3], [<DateTime yesterday>, 2], etc.]
</pre>
</div>
@@ -136,16 +139,16 @@ href="Report.html">Kvlr::ReportsAsSparkline::Report</a>)
<div class="method-description">
<p>
Runs the report (see <a
-href="Report.html#M000015">Kvlr::ReportsAsSparkline::Report#run</a>)
+href="Report.html#M000010">Kvlr::ReportsAsSparkline::Report#run</a>)
</p>
<p><a class="source-toggle" href="#"
onclick="toggleCode('M000003-source');return false;">[Source]</a></p>
<div class="method-source-code" id="M000003-source">
<pre>
- <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/cumulated_report.rb, line 16</span>
-16: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run</span>(<span class="ruby-identifier">options</span> = {})
-17: <span class="ruby-identifier">cumulate</span>(<span class="ruby-keyword kw">super</span>)
-18: <span class="ruby-keyword kw">end</span>
+ <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/cumulated_report.rb, line 19</span>
+19: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run</span>(<span class="ruby-identifier">options</span> = {})
+20: <span class="ruby-identifier">cumulate</span>(<span class="ruby-keyword kw">super</span>)
+21: <span class="ruby-keyword kw">end</span>
</pre>
</div>
</div>
(DIR) diff --git a/rdoc/classes/Kvlr/ReportsAsSparkline/Grouping.html b/rdoc/classes/Kvlr/ReportsAsSparkline/Grouping.html
@@ -78,6 +78,12 @@
<div id="contextContent">
+ <div id="description">
+ <p>
+This is the grouping a report uses to group records in the database
+</p>
+
+ </div>
</div>
@@ -86,10 +92,8 @@
<h3 class="section-bar">Methods</h3>
<div class="name-list">
- <a href="#M000007">date_parts_from_db_string</a>
- <a href="#M000006">identifier</a>
- <a href="#M000005">new</a>
- <a href="#M000008">to_sql</a>
+ <a href="#M000005">identifier</a>
+ <a href="#M000004">new</a>
</div>
</div>
@@ -111,25 +115,33 @@
<div id="methods">
<h3 class="section-bar">Public Class methods</h3>
- <div id="method-M000005" class="method-detail">
- <a name="M000005"></a>
+ <div id="method-M000004" class="method-detail">
+ <a name="M000004"></a>
<div class="method-heading">
- <a href="#M000005" class="method-signature">
- <span class="method-name">new</span><span class="method-args">(grouping)</span>
+ <a href="#M000004" class="method-signature">
+ <span class="method-name">new</span><span class="method-args">(identifier)</span>
</a>
</div>
<div class="method-description">
+ <h4>Parameters</h4>
+<ul>
+<li><tt><a href="Grouping.html#M000005">identifier</a></tt> - The <a
+href="Grouping.html#M000005">identifier</a> of the grouping - one of :hour,
+:day, :week or :month
+
+</li>
+</ul>
<p><a class="source-toggle" href="#"
- onclick="toggleCode('M000005-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000005-source">
+ onclick="toggleCode('M000004-source');return false;">[Source]</a></p>
+ <div class="method-source-code" id="M000004-source">
<pre>
- <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/grouping.rb, line 7</span>
- 7: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">grouping</span>)
- 8: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">"Invalid grouping #{grouping}"</span>) <span class="ruby-keyword kw">unless</span> [<span class="ruby-identifier">:hour</span>, <span class="ruby-identifier">:day</span>, <span class="ruby-identifier">:week</span>, <span class="ruby-identifier">:month</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">grouping</span>)
- 9: <span class="ruby-ivar">@identifier</span> = <span class="ruby-identifier">grouping</span>
-10: <span class="ruby-keyword kw">end</span>
+ <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/grouping.rb, line 10</span>
+10: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">identifier</span>)
+11: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">"Invalid grouping #{grouping}"</span>) <span class="ruby-keyword kw">unless</span> [<span class="ruby-identifier">:hour</span>, <span class="ruby-identifier">:day</span>, <span class="ruby-identifier">:week</span>, <span class="ruby-identifier">:month</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">identifier</span>)
+12: <span class="ruby-ivar">@identifier</span> = <span class="ruby-identifier">identifier</span>
+13: <span class="ruby-keyword kw">end</span>
</pre>
</div>
</div>
@@ -137,95 +149,28 @@
<h3 class="section-bar">Public Instance methods</h3>
- <div id="method-M000007" class="method-detail">
- <a name="M000007"></a>
-
- <div class="method-heading">
- <a href="#M000007" class="method-signature">
- <span class="method-name">date_parts_from_db_string</span><span class="method-args">(db_string)</span>
- </a>
- </div>
-
- <div class="method-description">
- <p><a class="source-toggle" href="#"
- onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000007-source">
-<pre>
- <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/grouping.rb, line 16</span>
-16: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">date_parts_from_db_string</span>(<span class="ruby-identifier">db_string</span>)
-17: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">ActiveRecord</span><span class="ruby-operator">::</span><span class="ruby-constant">Base</span>.<span class="ruby-identifier">connection</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'ActiveRecord::ConnectionAdapters::PostgreSQLAdapter'</span>
-18: <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@identifier</span>
-19: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:hour</span>
-20: <span class="ruby-keyword kw">return</span> (<span class="ruby-identifier">db_string</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">9</span>].<span class="ruby-identifier">split</span>(<span class="ruby-value str">'-'</span>) <span class="ruby-operator">+</span> [<span class="ruby-identifier">db_string</span>[<span class="ruby-value">11</span><span class="ruby-operator">..</span><span class="ruby-value">12</span>]]).<span class="ruby-identifier">map</span>(<span class="ruby-operator">&</span><span class="ruby-identifier">:to_i</span>)
-21: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:day</span>
-22: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">db_string</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">9</span>].<span class="ruby-identifier">split</span>(<span class="ruby-value str">'-'</span>).<span class="ruby-identifier">map</span>(<span class="ruby-operator">&</span><span class="ruby-identifier">:to_i</span>)
-23: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:week</span>
-24: <span class="ruby-identifier">parts</span> = <span class="ruby-identifier">db_string</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">9</span>].<span class="ruby-identifier">split</span>(<span class="ruby-value str">'-'</span>).<span class="ruby-identifier">map</span>(<span class="ruby-operator">&</span><span class="ruby-identifier">:to_i</span>)
-25: <span class="ruby-identifier">date</span> = <span class="ruby-constant">Date</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">parts</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">parts</span>[<span class="ruby-value">1</span>], <span class="ruby-identifier">parts</span>[<span class="ruby-value">2</span>])
-26: <span class="ruby-keyword kw">return</span> [<span class="ruby-identifier">date</span>.<span class="ruby-identifier">year</span>, <span class="ruby-identifier">date</span>.<span class="ruby-identifier">cweek</span>]
-27: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:month</span>
-28: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">db_string</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">6</span>].<span class="ruby-identifier">split</span>(<span class="ruby-value str">'-'</span>)[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>].<span class="ruby-identifier">map</span>(<span class="ruby-operator">&</span><span class="ruby-identifier">:to_i</span>)
-29: <span class="ruby-keyword kw">end</span>
-30: <span class="ruby-keyword kw">else</span>
-31: <span class="ruby-identifier">parts</span> = <span class="ruby-identifier">db_string</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'/'</span>).<span class="ruby-identifier">map</span>(<span class="ruby-operator">&</span><span class="ruby-identifier">:to_i</span>)
-32: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">parts</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">ActiveRecord</span><span class="ruby-operator">::</span><span class="ruby-constant">Base</span>.<span class="ruby-identifier">connection</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'ActiveRecord::ConnectionAdapters::MysqlAdapter'</span>
-33: <span class="ruby-identifier">parts</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@identifier</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:week</span>
-34: <span class="ruby-identifier">parts</span>
-35: <span class="ruby-keyword kw">end</span>
-36: <span class="ruby-keyword kw">end</span>
-</pre>
- </div>
- </div>
- </div>
-
- <div id="method-M000006" class="method-detail">
- <a name="M000006"></a>
+ <div id="method-M000005" class="method-detail">
+ <a name="M000005"></a>
<div class="method-heading">
- <a href="#M000006" class="method-signature">
+ <a href="#M000005" class="method-signature">
<span class="method-name">identifier</span><span class="method-args">()</span>
</a>
</div>
<div class="method-description">
+ <p>
+Returns the <a href="Grouping.html">Grouping</a>‘s <a
+href="Grouping.html#M000005">identifier</a>
+</p>
<p><a class="source-toggle" href="#"
- onclick="toggleCode('M000006-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000006-source">
-<pre>
- <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/grouping.rb, line 12</span>
-12: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">identifier</span>
-13: <span class="ruby-ivar">@identifier</span>
-14: <span class="ruby-keyword kw">end</span>
-</pre>
- </div>
- </div>
- </div>
-
- <div id="method-M000008" class="method-detail">
- <a name="M000008"></a>
-
- <div class="method-heading">
- <a href="#M000008" class="method-signature">
- <span class="method-name">to_sql</span><span class="method-args">(date_column_name)</span>
- </a>
- </div>
-
- <div class="method-description">
- <p><a class="source-toggle" href="#"
- onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000008-source">
+ onclick="toggleCode('M000005-source');return false;">[Source]</a></p>
+ <div class="method-source-code" id="M000005-source">
<pre>
- <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/grouping.rb, line 38</span>
-38: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_sql</span>(<span class="ruby-identifier">date_column_name</span>)
-39: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">case</span> <span class="ruby-constant">ActiveRecord</span><span class="ruby-operator">::</span><span class="ruby-constant">Base</span>.<span class="ruby-identifier">connection</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">to_s</span>
-40: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'ActiveRecord::ConnectionAdapters::MysqlAdapter'</span>
-41: <span class="ruby-identifier">mysql_format</span>(<span class="ruby-identifier">date_column_name</span>)
-42: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'ActiveRecord::ConnectionAdapters::SQLite3Adapter'</span>
-43: <span class="ruby-identifier">sqlite_format</span>(<span class="ruby-identifier">date_column_name</span>)
-44: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'ActiveRecord::ConnectionAdapters::PostgreSQLAdapter'</span>
-45: <span class="ruby-identifier">postgresql_format</span>(<span class="ruby-identifier">date_column_name</span>)
-46: <span class="ruby-keyword kw">end</span>
-47: <span class="ruby-keyword kw">end</span>
+ <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/grouping.rb, line 16</span>
+16: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">identifier</span>
+17: <span class="ruby-ivar">@identifier</span>
+18: <span class="ruby-keyword kw">end</span>
</pre>
</div>
</div>
(DIR) diff --git a/rdoc/classes/Kvlr/ReportsAsSparkline/Report.html b/rdoc/classes/Kvlr/ReportsAsSparkline/Report.html
@@ -78,6 +78,13 @@
<div id="contextContent">
+ <div id="description">
+ <p>
+The <a href="Report.html">Report</a> class that does all the data retrieval
+and calculations
+</p>
+
+ </div>
</div>
@@ -86,8 +93,8 @@
<h3 class="section-bar">Methods</h3>
<div class="name-list">
- <a href="#M000014">new</a>
- <a href="#M000015">run</a>
+ <a href="#M000009">new</a>
+ <a href="#M000010">run</a>
</div>
</div>
@@ -147,35 +154,74 @@
<div id="methods">
<h3 class="section-bar">Public Class methods</h3>
- <div id="method-M000014" class="method-detail">
- <a name="M000014"></a>
+ <div id="method-M000009" class="method-detail">
+ <a name="M000009"></a>
<div class="method-heading">
- <a href="#M000014" class="method-signature">
+ <a href="#M000009" class="method-signature">
<span class="method-name">new</span><span class="method-args">(klass, name, options = {})</span>
</a>
</div>
<div class="method-description">
+ <h4>Parameters</h4>
+<ul>
+<li><tt>klass</tt> - The model the report works on (This is the class you
+invoke <a
+href="ClassMethods.html#M000001">Kvlr::ReportsAsSparkline::ClassMethods#report_as_sparkline</a>
+on)
+
+</li>
+<li><tt>name</tt> - The name of the report (as in <a
+href="ClassMethods.html#M000001">Kvlr::ReportsAsSparkline::ClassMethods#report_as_sparkline</a>)
+
+</li>
+</ul>
+<h4>Options</h4>
+<ul>
+<li><tt>:date_column_name</tt> - The name of the date column on that the
+records are aggregated
+
+</li>
+<li><tt>:value_column_name</tt> - The name of the column that holds the value
+to sum for aggregation :sum
+
+</li>
+<li><tt>:aggregation</tt> - The aggregation to use (either :count or :sum);
+when using :sum, :value_column_name must also be specified
+
+</li>
+<li><tt>:grouping</tt> - The period records are grouped on (:hour, :day, :week,
+:month)
+
+</li>
+<li><tt>:limit</tt> - The number of periods to get (see :grouping)
+
+</li>
+<li><tt>:conditions</tt> - Conditions like in ActiveRecord::Base#find; only
+records that match there conditions are reported on
+
+</li>
+</ul>
<p><a class="source-toggle" href="#"
- onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000014-source">
+ onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
+ <div class="method-source-code" id="M000009-source">
<pre>
- <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/report.rb, line 9</span>
- 9: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">klass</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">options</span> = {})
-10: <span class="ruby-identifier">ensure_valid_options</span>(<span class="ruby-identifier">options</span>)
-11: <span class="ruby-ivar">@klass</span> = <span class="ruby-identifier">klass</span>
-12: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
-13: <span class="ruby-ivar">@date_column_name</span> = (<span class="ruby-identifier">options</span>[<span class="ruby-identifier">:date_column_name</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">'created_at'</span>).<span class="ruby-identifier">to_s</span>
-14: <span class="ruby-ivar">@value_column_name</span> = (<span class="ruby-identifier">options</span>[<span class="ruby-identifier">:value_column_name</span>] <span class="ruby-operator">||</span> (<span class="ruby-identifier">options</span>[<span class="ruby-identifier">:aggregation</span>] <span class="ruby-operator">!=</span> <span class="ruby-identifier">:sum</span> <span class="ruby-operator">?</span> <span class="ruby-value str">'id'</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">name</span>)).<span class="ruby-identifier">to_s</span>
-15: <span class="ruby-ivar">@aggregation</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:aggregation</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">:count</span>
-16: <span class="ruby-ivar">@grouping</span> = <span class="ruby-constant">Grouping</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">options</span>[<span class="ruby-identifier">:grouping</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">:day</span>)
-17: <span class="ruby-ivar">@options</span> = {
-18: <span class="ruby-identifier">:limit</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:limit</span>] <span class="ruby-operator">||</span> <span class="ruby-value">100</span>,
-19: <span class="ruby-identifier">:conditions</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:conditions</span>] <span class="ruby-operator">||</span> []
-20: }
-21: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">options</span>)
-22: <span class="ruby-keyword kw">end</span>
+ <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/report.rb, line 22</span>
+22: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">klass</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">options</span> = {})
+23: <span class="ruby-identifier">ensure_valid_options</span>(<span class="ruby-identifier">options</span>)
+24: <span class="ruby-ivar">@klass</span> = <span class="ruby-identifier">klass</span>
+25: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
+26: <span class="ruby-ivar">@date_column_name</span> = (<span class="ruby-identifier">options</span>[<span class="ruby-identifier">:date_column_name</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">'created_at'</span>).<span class="ruby-identifier">to_s</span>
+27: <span class="ruby-ivar">@value_column_name</span> = (<span class="ruby-identifier">options</span>[<span class="ruby-identifier">:value_column_name</span>] <span class="ruby-operator">||</span> (<span class="ruby-identifier">options</span>[<span class="ruby-identifier">:aggregation</span>] <span class="ruby-operator">!=</span> <span class="ruby-identifier">:sum</span> <span class="ruby-operator">?</span> <span class="ruby-value str">'id'</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">name</span>)).<span class="ruby-identifier">to_s</span>
+28: <span class="ruby-ivar">@aggregation</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:aggregation</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">:count</span>
+29: <span class="ruby-ivar">@grouping</span> = <span class="ruby-constant">Grouping</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">options</span>[<span class="ruby-identifier">:grouping</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">:day</span>)
+30: <span class="ruby-ivar">@options</span> = {
+31: <span class="ruby-identifier">:limit</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:limit</span>] <span class="ruby-operator">||</span> <span class="ruby-value">100</span>,
+32: <span class="ruby-identifier">:conditions</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:conditions</span>] <span class="ruby-operator">||</span> []
+33: }
+34: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">options</span>)
+35: <span class="ruby-keyword kw">end</span>
</pre>
</div>
</div>
@@ -183,29 +229,43 @@
<h3 class="section-bar">Public Instance methods</h3>
- <div id="method-M000015" class="method-detail">
- <a name="M000015"></a>
+ <div id="method-M000010" class="method-detail">
+ <a name="M000010"></a>
<div class="method-heading">
- <a href="#M000015" class="method-signature">
+ <a href="#M000010" class="method-signature">
<span class="method-name">run</span><span class="method-args">(options = {})</span>
</a>
</div>
<div class="method-description">
+ <p>
+Runs the report and returns an array of array of DateTimes and Floats
+</p>
+<h4>Options</h4>
+<ul>
+<li><tt>:limit</tt> - The number of periods to get
+
+</li>
+<li><tt>:conditions</tt> - Conditions like in ActiveRecord::Base#find; only
+records that match there conditions are reported on (<b>Beware that when
+you specify conditions here, caching will be disabled</b>)
+
+</li>
+</ul>
<p><a class="source-toggle" href="#"
- onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000015-source">
+ onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
+ <div class="method-source-code" id="M000010-source">
<pre>
- <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/report.rb, line 24</span>
-24: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run</span>(<span class="ruby-identifier">options</span> = {})
-25: <span class="ruby-identifier">ensure_valid_options</span>(<span class="ruby-identifier">options</span>, <span class="ruby-identifier">:run</span>)
-26: <span class="ruby-identifier">custom_conditions</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">:conditions</span>)
-27: <span class="ruby-identifier">options</span>.<span class="ruby-identifier">reverse_merge!</span>(<span class="ruby-ivar">@options</span>)
-28: <span class="ruby-constant">ReportCache</span>.<span class="ruby-identifier">process</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:limit</span>], <span class="ruby-identifier">custom_conditions</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">begin_at</span><span class="ruby-operator">|</span>
-29: <span class="ruby-identifier">read_data</span>(<span class="ruby-identifier">begin_at</span>, <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:conditions</span>])
-30: <span class="ruby-keyword kw">end</span>
-31: <span class="ruby-keyword kw">end</span>
+ <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/report.rb, line 42</span>
+42: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run</span>(<span class="ruby-identifier">options</span> = {})
+43: <span class="ruby-identifier">ensure_valid_options</span>(<span class="ruby-identifier">options</span>, <span class="ruby-identifier">:run</span>)
+44: <span class="ruby-identifier">custom_conditions</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">:conditions</span>)
+45: <span class="ruby-identifier">options</span>.<span class="ruby-identifier">reverse_merge!</span>(<span class="ruby-ivar">@options</span>)
+46: <span class="ruby-constant">ReportCache</span>.<span class="ruby-identifier">process</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:limit</span>], <span class="ruby-identifier">custom_conditions</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">begin_at</span><span class="ruby-operator">|</span>
+47: <span class="ruby-identifier">read_data</span>(<span class="ruby-identifier">begin_at</span>, <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:conditions</span>])
+48: <span class="ruby-keyword kw">end</span>
+49: <span class="ruby-keyword kw">end</span>
</pre>
</div>
</div>
(DIR) diff --git a/rdoc/classes/Kvlr/ReportsAsSparkline/ReportCache.html b/rdoc/classes/Kvlr/ReportsAsSparkline/ReportCache.html
@@ -1,166 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Class: Kvlr::ReportsAsSparkline::ReportCache</title>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
- <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
- <script type="text/javascript">
- // <![CDATA[
-
- function popupCode( url ) {
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
- }
-
- function toggleCode( id ) {
- if ( document.getElementById )
- elem = document.getElementById( id );
- else if ( document.all )
- elem = eval( "document.all." + id );
- else
- return false;
-
- elemStyle = elem.style;
-
- if ( elemStyle.display != "block" ) {
- elemStyle.display = "block"
- } else {
- elemStyle.display = "none"
- }
-
- return true;
- }
-
- // Make codeblocks hidden by default
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
-
- // ]]>
- </script>
-
-</head>
-<body>
-
-
-
- <div id="classHeader">
- <table class="header-table">
- <tr class="top-aligned-row">
- <td><strong>Class</strong></td>
- <td class="class-name-in-header">Kvlr::ReportsAsSparkline::ReportCache</td>
- </tr>
- <tr class="top-aligned-row">
- <td><strong>In:</strong></td>
- <td>
- <a href="../../../files/lib/kvlr/reports_as_sparkline/report_cache_rb.html">
- lib/kvlr/reports_as_sparkline/report_cache.rb
- </a>
- <br />
- </td>
- </tr>
-
- <tr class="top-aligned-row">
- <td><strong>Parent:</strong></td>
- <td>
- ActiveRecord::Base
- </td>
- </tr>
- </table>
- </div>
- <!-- banner header -->
-
- <div id="bodyContent">
-
-
-
- <div id="contextContent">
-
-
-
- </div>
-
- <div id="method-list">
- <h3 class="section-bar">Methods</h3>
-
- <div class="name-list">
- <a href="#M000004">process</a>
- </div>
- </div>
-
- </div>
-
-
- <!-- if includes -->
-
- <div id="section">
-
-
-
-
-
-
-
-
- <!-- if method_list -->
- <div id="methods">
- <h3 class="section-bar">Public Class methods</h3>
-
- <div id="method-M000004" class="method-detail">
- <a name="M000004"></a>
-
- <div class="method-heading">
- <a href="#M000004" class="method-signature">
- <span class="method-name">process</span><span class="method-args">(report, limit, no_cache = false) {|last_reporting_period_to_read.date_time| ...}</span>
- </a>
- </div>
-
- <div class="method-description">
- <p><a class="source-toggle" href="#"
- onclick="toggleCode('M000004-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000004-source">
-<pre>
- <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/report_cache.rb, line 9</span>
- 9: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">process</span>(<span class="ruby-identifier">report</span>, <span class="ruby-identifier">limit</span>, <span class="ruby-identifier">no_cache</span> = <span class="ruby-keyword kw">false</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
-10: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'A block must be given'</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">block_given?</span>
-11: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">transaction</span> <span class="ruby-keyword kw">do</span>
-12: <span class="ruby-identifier">cached_data</span> = []
-13: <span class="ruby-identifier">last_reporting_period_to_read</span> = <span class="ruby-constant">ReportingPeriod</span>.<span class="ruby-identifier">first</span>(<span class="ruby-identifier">report</span>.<span class="ruby-identifier">grouping</span>, <span class="ruby-identifier">limit</span>)
-14: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">no_cache</span>
-15: <span class="ruby-identifier">cached_data</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">find</span>(
-16: <span class="ruby-identifier">:all</span>,
-17: <span class="ruby-identifier">:conditions</span> =<span class="ruby-operator">></span> {
-18: <span class="ruby-identifier">:model_name</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">report</span>.<span class="ruby-identifier">klass</span>.<span class="ruby-identifier">to_s</span>,
-19: <span class="ruby-identifier">:report_name</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">report</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span>,
-20: <span class="ruby-identifier">:grouping</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">report</span>.<span class="ruby-identifier">grouping</span>.<span class="ruby-identifier">identifier</span>.<span class="ruby-identifier">to_s</span>,
-21: <span class="ruby-identifier">:aggregation</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">report</span>.<span class="ruby-identifier">aggregation</span>.<span class="ruby-identifier">to_s</span>
-22: },
-23: <span class="ruby-identifier">:limit</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">limit</span>,
-24: <span class="ruby-identifier">:order</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'reporting_period DESC'</span>
-25: )
-26: <span class="ruby-identifier">last_reporting_period_to_read</span> = <span class="ruby-identifier">cached_data</span>.<span class="ruby-identifier">last</span>.<span class="ruby-identifier">reporting_period</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">cached_data</span>.<span class="ruby-identifier">empty?</span>
-27: <span class="ruby-keyword kw">end</span>
-28: <span class="ruby-identifier">new_data</span> = <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">last_reporting_period_to_read</span>.<span class="ruby-identifier">date_time</span>)
-29: <span class="ruby-identifier">prepare_result</span>(<span class="ruby-identifier">new_data</span>, <span class="ruby-identifier">cached_data</span>, <span class="ruby-identifier">last_reporting_period_to_read</span>, <span class="ruby-identifier">report</span>, <span class="ruby-identifier">no_cache</span>)
-30: <span class="ruby-keyword kw">end</span>
-31: <span class="ruby-keyword kw">end</span>
-</pre>
- </div>
- </div>
- </div>
-
-
- </div>
-
-
- </div>
-
-
-<div id="validator-badges">
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
-</div>
-
-</body>
-</html>
-\ No newline at end of file
(DIR) diff --git a/rdoc/classes/Kvlr/ReportsAsSparkline/ReportingPeriod.html b/rdoc/classes/Kvlr/ReportsAsSparkline/ReportingPeriod.html
@@ -78,6 +78,14 @@
<div id="contextContent">
+ <div id="description">
+ <p>
+A <a href="ReportingPeriod.html">ReportingPeriod</a> is - depending on the
+<a href="Grouping.html">Grouping</a> - either a specific hour, a day, a
+month or a year. All records falling into this period will be grouped.
+</p>
+
+ </div>
</div>
@@ -86,11 +94,9 @@
<h3 class="section-bar">Methods</h3>
<div class="name-list">
- <a href="#M000013">==</a>
- <a href="#M000010">first</a>
- <a href="#M000011">from_db_string</a>
- <a href="#M000009">new</a>
- <a href="#M000012">previous</a>
+ <a href="#M000007">first</a>
+ <a href="#M000006">new</a>
+ <a href="#M000008">previous</a>
</div>
</div>
@@ -130,92 +136,88 @@
<div id="methods">
<h3 class="section-bar">Public Class methods</h3>
- <div id="method-M000010" class="method-detail">
- <a name="M000010"></a>
+ <div id="method-M000007" class="method-detail">
+ <a name="M000007"></a>
<div class="method-heading">
- <a href="#M000010" class="method-signature">
+ <a href="#M000007" class="method-signature">
<span class="method-name">first</span><span class="method-args">(grouping, limit)</span>
</a>
</div>
<div class="method-description">
+ <p>
+Returns the <a href="ReportingPeriod.html#M000007">first</a> reporting
+period for a grouping and a limit; e.g. the <a
+href="ReportingPeriod.html#M000007">first</a> reporting period for <a
+href="Grouping.html">Grouping</a> :day and limit 2 would be Time.now -
+2.days
+</p>
+<h4>Parameters</h4>
+<ul>
+<li><tt>grouping</tt> - The <a
+href="Grouping.html">Kvlr::ReportsAsSparkline::Grouping</a> of the
+reporting period
+
+</li>
+<li><tt>limit</tt> - The number of reporting periods until the <a
+href="ReportingPeriod.html#M000007">first</a> one
+
+</li>
+</ul>
<p><a class="source-toggle" href="#"
- onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000010-source">
+ onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
+ <div class="method-source-code" id="M000007-source">
<pre>
- <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/reporting_period.rb, line 14</span>
-14: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">first</span>(<span class="ruby-identifier">grouping</span>, <span class="ruby-identifier">limit</span>)
-15: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">grouping</span>.<span class="ruby-identifier">identifier</span>
-16: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:hour</span>
-17: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">grouping</span>, <span class="ruby-constant">DateTime</span>.<span class="ruby-identifier">now</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">limit</span>.<span class="ruby-identifier">hours</span>)
-18: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:day</span>
-19: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">grouping</span>, <span class="ruby-constant">DateTime</span>.<span class="ruby-identifier">now</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">limit</span>.<span class="ruby-identifier">days</span>)
-20: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:week</span>
-21: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">grouping</span>, <span class="ruby-constant">DateTime</span>.<span class="ruby-identifier">now</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">limit</span>.<span class="ruby-identifier">weeks</span>)
-22: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:month</span>
-23: <span class="ruby-identifier">date</span> = <span class="ruby-constant">DateTime</span>.<span class="ruby-identifier">now</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">limit</span>.<span class="ruby-identifier">months</span>
-24: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">grouping</span>, <span class="ruby-constant">Date</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">date</span>.<span class="ruby-identifier">year</span>, <span class="ruby-identifier">date</span>.<span class="ruby-identifier">month</span>, <span class="ruby-value">1</span>))
-25: <span class="ruby-keyword kw">end</span>
-26: <span class="ruby-keyword kw">end</span>
+ <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/reporting_period.rb, line 23</span>
+23: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">first</span>(<span class="ruby-identifier">grouping</span>, <span class="ruby-identifier">limit</span>)
+24: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">grouping</span>.<span class="ruby-identifier">identifier</span>
+25: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:hour</span>
+26: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">grouping</span>, <span class="ruby-constant">DateTime</span>.<span class="ruby-identifier">now</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">limit</span>.<span class="ruby-identifier">hours</span>)
+27: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:day</span>
+28: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">grouping</span>, <span class="ruby-constant">DateTime</span>.<span class="ruby-identifier">now</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">limit</span>.<span class="ruby-identifier">days</span>)
+29: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:week</span>
+30: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">grouping</span>, <span class="ruby-constant">DateTime</span>.<span class="ruby-identifier">now</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">limit</span>.<span class="ruby-identifier">weeks</span>)
+31: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:month</span>
+32: <span class="ruby-identifier">date</span> = <span class="ruby-constant">DateTime</span>.<span class="ruby-identifier">now</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">limit</span>.<span class="ruby-identifier">months</span>
+33: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">grouping</span>, <span class="ruby-constant">Date</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">date</span>.<span class="ruby-identifier">year</span>, <span class="ruby-identifier">date</span>.<span class="ruby-identifier">month</span>, <span class="ruby-value">1</span>))
+34: <span class="ruby-keyword kw">end</span>
+35: <span class="ruby-keyword kw">end</span>
</pre>
</div>
</div>
</div>
- <div id="method-M000011" class="method-detail">
- <a name="M000011"></a>
+ <div id="method-M000006" class="method-detail">
+ <a name="M000006"></a>
<div class="method-heading">
- <a href="#M000011" class="method-signature">
- <span class="method-name">from_db_string</span><span class="method-args">(grouping, db_string)</span>
+ <a href="#M000006" class="method-signature">
+ <span class="method-name">new</span><span class="method-args">(grouping, date_time = DateTime.now)</span>
</a>
</div>
<div class="method-description">
- <p><a class="source-toggle" href="#"
- onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000011-source">
-<pre>
- <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/reporting_period.rb, line 28</span>
-28: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">from_db_string</span>(<span class="ruby-identifier">grouping</span>, <span class="ruby-identifier">db_string</span>)
-29: <span class="ruby-identifier">parts</span> = <span class="ruby-identifier">grouping</span>.<span class="ruby-identifier">date_parts_from_db_string</span>(<span class="ruby-identifier">db_string</span>)
-30: <span class="ruby-identifier">result</span> = <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">grouping</span>.<span class="ruby-identifier">identifier</span>
-31: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:hour</span>
-32: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">grouping</span>, <span class="ruby-constant">DateTime</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">parts</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">parts</span>[<span class="ruby-value">1</span>], <span class="ruby-identifier">parts</span>[<span class="ruby-value">2</span>], <span class="ruby-identifier">parts</span>[<span class="ruby-value">3</span>], <span class="ruby-value">0</span>, <span class="ruby-value">0</span>))
-33: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:day</span>
-34: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">grouping</span>, <span class="ruby-constant">Date</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">parts</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">parts</span>[<span class="ruby-value">1</span>], <span class="ruby-identifier">parts</span>[<span class="ruby-value">2</span>]))
-35: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:week</span>
-36: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">grouping</span>, <span class="ruby-constant">Date</span>.<span class="ruby-identifier">commercial</span>(<span class="ruby-identifier">parts</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">parts</span>[<span class="ruby-value">1</span>]))
-37: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:month</span>
-38: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">grouping</span>, <span class="ruby-constant">Date</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">parts</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">parts</span>[<span class="ruby-value">1</span>], <span class="ruby-value">1</span>))
-39: <span class="ruby-keyword kw">end</span>
-40: <span class="ruby-identifier">result</span>
-41: <span class="ruby-keyword kw">end</span>
-</pre>
- </div>
- </div>
- </div>
+ <h4>Parameters</h4>
+<ul>
+<li><tt>grouping</tt> - The <a
+href="Grouping.html">Kvlr::ReportsAsSparkline::Grouping</a> of the
+reporting period
- <div id="method-M000009" class="method-detail">
- <a name="M000009"></a>
+</li>
+<li><tt>date_time</tt> - The DateTime that reporting period is created for
- <div class="method-heading">
- <a href="#M000009" class="method-signature">
- <span class="method-name">new</span><span class="method-args">(grouping, date_time = DateTime.now)</span>
- </a>
- </div>
-
- <div class="method-description">
+</li>
+</ul>
<p><a class="source-toggle" href="#"
- onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000009-source">
+ onclick="toggleCode('M000006-source');return false;">[Source]</a></p>
+ <div class="method-source-code" id="M000006-source">
<pre>
- <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/reporting_period.rb, line 9</span>
- 9: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">grouping</span>, <span class="ruby-identifier">date_time</span> = <span class="ruby-constant">DateTime</span>.<span class="ruby-identifier">now</span>)
-10: <span class="ruby-ivar">@grouping</span> = <span class="ruby-identifier">grouping</span>
-11: <span class="ruby-ivar">@date_time</span> = <span class="ruby-identifier">parse_date_time</span>(<span class="ruby-identifier">date_time</span>)
-12: <span class="ruby-keyword kw">end</span>
+ <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/reporting_period.rb, line 13</span>
+13: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">grouping</span>, <span class="ruby-identifier">date_time</span> = <span class="ruby-constant">DateTime</span>.<span class="ruby-identifier">now</span>)
+14: <span class="ruby-ivar">@grouping</span> = <span class="ruby-identifier">grouping</span>
+15: <span class="ruby-ivar">@date_time</span> = <span class="ruby-identifier">parse_date_time</span>(<span class="ruby-identifier">date_time</span>)
+16: <span class="ruby-keyword kw">end</span>
</pre>
</div>
</div>
@@ -223,59 +225,37 @@
<h3 class="section-bar">Public Instance methods</h3>
- <div id="method-M000013" class="method-detail">
- <a name="M000013"></a>
-
- <div class="method-heading">
- <a href="#M000013" class="method-signature">
- <span class="method-name">==</span><span class="method-args">(other)</span>
- </a>
- </div>
-
- <div class="method-description">
- <p><a class="source-toggle" href="#"
- onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000013-source">
-<pre>
- <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/reporting_period.rb, line 56</span>
-56: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">other</span>)
-57: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Kvlr</span><span class="ruby-operator">::</span><span class="ruby-constant">ReportsAsSparkline</span><span class="ruby-operator">::</span><span class="ruby-constant">ReportingPeriod</span>
-58: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@date_time</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">date_time</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">&&</span> <span class="ruby-ivar">@grouping</span>.<span class="ruby-identifier">identifier</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">grouping</span>.<span class="ruby-identifier">identifier</span>.<span class="ruby-identifier">to_s</span>
-59: <span class="ruby-keyword kw">end</span>
-60: <span class="ruby-keyword kw">false</span>
-61: <span class="ruby-keyword kw">end</span>
-</pre>
- </div>
- </div>
- </div>
-
- <div id="method-M000012" class="method-detail">
- <a name="M000012"></a>
+ <div id="method-M000008" class="method-detail">
+ <a name="M000008"></a>
<div class="method-heading">
- <a href="#M000012" class="method-signature">
+ <a href="#M000008" class="method-signature">
<span class="method-name">previous</span><span class="method-args">()</span>
</a>
</div>
<div class="method-description">
+ <p>
+Returns the <a href="ReportingPeriod.html#M000008">previous</a> reporting
+period
+</p>
<p><a class="source-toggle" href="#"
- onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000012-source">
+ onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
+ <div class="method-source-code" id="M000008-source">
<pre>
- <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/reporting_period.rb, line 43</span>
-43: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">previous</span>
-44: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@grouping</span>.<span class="ruby-identifier">identifier</span>
-45: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:hour</span>
-46: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@grouping</span>, <span class="ruby-ivar">@date_time</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>.<span class="ruby-identifier">hour</span>)
-47: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:day</span>
-48: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@grouping</span>, <span class="ruby-ivar">@date_time</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>.<span class="ruby-identifier">day</span>)
-49: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:week</span>
-50: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@grouping</span>, <span class="ruby-ivar">@date_time</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>.<span class="ruby-identifier">week</span>)
-51: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:month</span>
-52: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@grouping</span>, <span class="ruby-ivar">@date_time</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>.<span class="ruby-identifier">month</span>)
-53: <span class="ruby-keyword kw">end</span>
-54: <span class="ruby-keyword kw">end</span>
+ <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/reporting_period.rb, line 53</span>
+53: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">previous</span>
+54: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@grouping</span>.<span class="ruby-identifier">identifier</span>
+55: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:hour</span>
+56: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@grouping</span>, <span class="ruby-ivar">@date_time</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>.<span class="ruby-identifier">hour</span>)
+57: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:day</span>
+58: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@grouping</span>, <span class="ruby-ivar">@date_time</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>.<span class="ruby-identifier">day</span>)
+59: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:week</span>
+60: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@grouping</span>, <span class="ruby-ivar">@date_time</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>.<span class="ruby-identifier">week</span>)
+61: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:month</span>
+62: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@grouping</span>, <span class="ruby-ivar">@date_time</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>.<span class="ruby-identifier">month</span>)
+63: <span class="ruby-keyword kw">end</span>
+64: <span class="ruby-keyword kw">end</span>
</pre>
</div>
</div>
(DIR) diff --git a/rdoc/created.rid b/rdoc/created.rid
@@ -1 +1 @@
-Thu, 11 Dec 2008 19:24:20 +0100
+Thu, 11 Dec 2008 20:18:31 +0100
(DIR) diff --git a/rdoc/files/README_rdoc.html b/rdoc/files/README_rdoc.html
@@ -56,7 +56,7 @@
</tr>
<tr class="top-aligned-row">
<td><strong>Last Update:</strong></td>
- <td>Thu Dec 04 14:58:12 +0100 2008</td>
+ <td>Thu Dec 11 20:18:28 +0100 2008</td>
</tr>
</table>
</div>
@@ -72,42 +72,36 @@
<h1>ReportsAsSparkline</h1>
<p>
ReportsAsSparkline enables you to generate reports and sparklines from your
-database with very little effort.
+model‘s data with very little effort.
</p>
+<h2>Example</h2>
<p>
-### Example
-</p>
-<p>
-This shows the first basic usage. Consider the following user model,
-including <b>created_at</b> and <b>activated_at</b> timestamp fields.
+This shows the basic usage. Consider the following user model, including
+<tt>created_at</tt> and <tt>activated_at</tt> timestamp fields.
</p>
<pre>
- class User < ActiveRecord::Base
- report_as_sparkline :registrations
- report_as_sparkline :activations, :date_column => :activated_at
- report_as_sparkline :total_users, :cumulate => :registrations
+ class User < ActiveRecord::Base
+ report_as_sparkline :registrations
+ report_as_sparkline :activations, :date_column_name => :activated_at
+ report_as_sparkline :total_users, :cumulate => true
end
</pre>
<p>
-Using <b>report_as_sparkline</b> like this will add the following class
+Using <tt>report_as_sparkline</tt> like this will add the following class
methods to your User model:
</p>
<pre>
- # Generates a sparkline from the google chart api
- # so you see the registrations per day
- User.registrations_graph
-
- # Gets an array of the data to use in numerical display
- User.registrations_report
+ User.registrations_report
+ User.activations_report
+ User.total_users_report
</pre>
<p>
-### Implemented features
+You can than render sparklines for these reports with sparkline_tag in your
+view:
</p>
-<ul>
-<li>cumulate option that depends on other report
-
-</li>
-</ul>
+<pre>
+ <%= sparkline_tag(User.registrations_report) %>
+</pre>
<h2>TODOs/ future plans</h2>
<ul>
<li>support for Oracle and DB2 (and others?) missing
(DIR) diff --git a/rdoc/files/lib/kvlr/reports_as_sparkline/asset_tag_helper_rb.html b/rdoc/files/lib/kvlr/reports_as_sparkline/asset_tag_helper_rb.html
@@ -56,7 +56,7 @@
</tr>
<tr class="top-aligned-row">
<td><strong>Last Update:</strong></td>
- <td>Thu Dec 11 19:17:16 +0100 2008</td>
+ <td>Thu Dec 11 20:11:04 +0100 2008</td>
</tr>
</table>
</div>
(DIR) diff --git a/rdoc/files/lib/kvlr/reports_as_sparkline/cumulated_report_rb.html b/rdoc/files/lib/kvlr/reports_as_sparkline/cumulated_report_rb.html
@@ -56,7 +56,7 @@
</tr>
<tr class="top-aligned-row">
<td><strong>Last Update:</strong></td>
- <td>Thu Dec 11 19:24:13 +0100 2008</td>
+ <td>Thu Dec 11 19:25:14 +0100 2008</td>
</tr>
</table>
</div>
(DIR) diff --git a/rdoc/files/lib/kvlr/reports_as_sparkline/grouping_rb.html b/rdoc/files/lib/kvlr/reports_as_sparkline/grouping_rb.html
@@ -56,7 +56,7 @@
</tr>
<tr class="top-aligned-row">
<td><strong>Last Update:</strong></td>
- <td>Thu Dec 11 18:45:43 +0100 2008</td>
+ <td>Thu Dec 11 20:11:56 +0100 2008</td>
</tr>
</table>
</div>
(DIR) diff --git a/rdoc/files/lib/kvlr/reports_as_sparkline/report_cache_rb.html b/rdoc/files/lib/kvlr/reports_as_sparkline/report_cache_rb.html
@@ -56,7 +56,7 @@
</tr>
<tr class="top-aligned-row">
<td><strong>Last Update:</strong></td>
- <td>Thu Dec 11 17:45:37 +0100 2008</td>
+ <td>Thu Dec 11 19:27:42 +0100 2008</td>
</tr>
</table>
</div>
(DIR) diff --git a/rdoc/files/lib/kvlr/reports_as_sparkline/report_rb.html b/rdoc/files/lib/kvlr/reports_as_sparkline/report_rb.html
@@ -56,7 +56,7 @@
</tr>
<tr class="top-aligned-row">
<td><strong>Last Update:</strong></td>
- <td>Thu Dec 11 19:19:10 +0100 2008</td>
+ <td>Thu Dec 11 20:14:36 +0100 2008</td>
</tr>
</table>
</div>
(DIR) diff --git a/rdoc/files/lib/kvlr/reports_as_sparkline/reporting_period_rb.html b/rdoc/files/lib/kvlr/reports_as_sparkline/reporting_period_rb.html
@@ -56,7 +56,7 @@
</tr>
<tr class="top-aligned-row">
<td><strong>Last Update:</strong></td>
- <td>Wed Dec 10 15:35:51 +0100 2008</td>
+ <td>Thu Dec 11 20:12:58 +0100 2008</td>
</tr>
</table>
</div>
(DIR) diff --git a/rdoc/files/lib/kvlr/reports_as_sparkline_rb.html b/rdoc/files/lib/kvlr/reports_as_sparkline_rb.html
@@ -56,7 +56,7 @@
</tr>
<tr class="top-aligned-row">
<td><strong>Last Update:</strong></td>
- <td>Thu Dec 11 19:07:54 +0100 2008</td>
+ <td>Thu Dec 11 20:06:27 +0100 2008</td>
</tr>
</table>
</div>
(DIR) diff --git a/rdoc/fr_class_index.html b/rdoc/fr_class_index.html
@@ -26,7 +26,6 @@
<a href="classes/Kvlr/ReportsAsSparkline/CumulatedReport.html">Kvlr::ReportsAsSparkline::CumulatedReport</a><br />
<a href="classes/Kvlr/ReportsAsSparkline/Grouping.html">Kvlr::ReportsAsSparkline::Grouping</a><br />
<a href="classes/Kvlr/ReportsAsSparkline/Report.html">Kvlr::ReportsAsSparkline::Report</a><br />
- <a href="classes/Kvlr/ReportsAsSparkline/ReportCache.html">Kvlr::ReportsAsSparkline::ReportCache</a><br />
<a href="classes/Kvlr/ReportsAsSparkline/ReportingPeriod.html">Kvlr::ReportsAsSparkline::ReportingPeriod</a><br />
</div>
</div>
(DIR) diff --git a/rdoc/fr_method_index.html b/rdoc/fr_method_index.html
@@ -20,22 +20,17 @@
<div id="index">
<h1 class="section-bar">Methods</h1>
<div id="index-entries">
- <a href="classes/Kvlr/ReportsAsSparkline/ReportingPeriod.html#M000013">== (Kvlr::ReportsAsSparkline::ReportingPeriod)</a><br />
- <a href="classes/Kvlr/ReportsAsSparkline/Grouping.html#M000007">date_parts_from_db_string (Kvlr::ReportsAsSparkline::Grouping)</a><br />
- <a href="classes/Kvlr/ReportsAsSparkline/ReportingPeriod.html#M000010">first (Kvlr::ReportsAsSparkline::ReportingPeriod)</a><br />
- <a href="classes/Kvlr/ReportsAsSparkline/ReportingPeriod.html#M000011">from_db_string (Kvlr::ReportsAsSparkline::ReportingPeriod)</a><br />
- <a href="classes/Kvlr/ReportsAsSparkline/Grouping.html#M000006">identifier (Kvlr::ReportsAsSparkline::Grouping)</a><br />
- <a href="classes/Kvlr/ReportsAsSparkline/Grouping.html#M000005">new (Kvlr::ReportsAsSparkline::Grouping)</a><br />
- <a href="classes/Kvlr/ReportsAsSparkline/Report.html#M000014">new (Kvlr::ReportsAsSparkline::Report)</a><br />
- <a href="classes/Kvlr/ReportsAsSparkline/ReportingPeriod.html#M000009">new (Kvlr::ReportsAsSparkline::ReportingPeriod)</a><br />
- <a href="classes/Kvlr/ReportsAsSparkline/ReportingPeriod.html#M000012">previous (Kvlr::ReportsAsSparkline::ReportingPeriod)</a><br />
- <a href="classes/Kvlr/ReportsAsSparkline/ReportCache.html#M000004">process (Kvlr::ReportsAsSparkline::ReportCache)</a><br />
+ <a href="classes/Kvlr/ReportsAsSparkline/ReportingPeriod.html#M000007">first (Kvlr::ReportsAsSparkline::ReportingPeriod)</a><br />
+ <a href="classes/Kvlr/ReportsAsSparkline/Grouping.html#M000005">identifier (Kvlr::ReportsAsSparkline::Grouping)</a><br />
+ <a href="classes/Kvlr/ReportsAsSparkline/Grouping.html#M000004">new (Kvlr::ReportsAsSparkline::Grouping)</a><br />
+ <a href="classes/Kvlr/ReportsAsSparkline/ReportingPeriod.html#M000006">new (Kvlr::ReportsAsSparkline::ReportingPeriod)</a><br />
+ <a href="classes/Kvlr/ReportsAsSparkline/Report.html#M000009">new (Kvlr::ReportsAsSparkline::Report)</a><br />
+ <a href="classes/Kvlr/ReportsAsSparkline/ReportingPeriod.html#M000008">previous (Kvlr::ReportsAsSparkline::ReportingPeriod)</a><br />
<a href="classes/Kvlr/ReportsAsSparkline/ClassMethods.html#M000001">report_as_sparkline (Kvlr::ReportsAsSparkline::ClassMethods)</a><br />
- <a href="classes/Kvlr/ReportsAsSparkline/Report.html#M000015">run (Kvlr::ReportsAsSparkline::Report)</a><br />
<a href="classes/Kvlr/ReportsAsSparkline/CumulatedReport.html#M000003">run (Kvlr::ReportsAsSparkline::CumulatedReport)</a><br />
+ <a href="classes/Kvlr/ReportsAsSparkline/Report.html#M000010">run (Kvlr::ReportsAsSparkline::Report)</a><br />
<a href="classes/Kvlr/ReportsAsSparkline/AssetTagHelper.html#M000002">sparkline_tag (Kvlr::ReportsAsSparkline::AssetTagHelper)</a><br />
- <a href="classes/Kvlr/CoreExtensions/DateTime.html#M000016">to_reporting_period (Kvlr::CoreExtensions::DateTime)</a><br />
- <a href="classes/Kvlr/ReportsAsSparkline/Grouping.html#M000008">to_sql (Kvlr::ReportsAsSparkline::Grouping)</a><br />
+ <a href="classes/Kvlr/CoreExtensions/DateTime.html#M000011">to_reporting_period (Kvlr::CoreExtensions::DateTime)</a><br />
</div>
</div>
</body>