updated README and docs - reportable - Fork of reportable required by WarVox, from hdm/reportable.
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
---
(DIR) commit ca12152ec76255deacf609fed517a71f7901013b
(DIR) parent fd453311d9cc27bf335e629114c4be99832b97ba
(HTM) Author: Marco Otte-Witte <marco.otte-witte@simplabs.com>
Date: Wed, 29 Apr 2009 16:36:30 +0200
updated README and docs
Diffstat:
M README.rdoc | 2 +-
D rdoc/classes/Kvlr/ReportsAsSparkli… | 212 ------------------------------
D rdoc/classes/Kvlr/ReportsAsSparkli… | 170 -------------------------------
D rdoc/classes/Kvlr/ReportsAsSparkli… | 192 -------------------------------
D rdoc/classes/Kvlr/ReportsAsSparkli… | 310 -------------------------------
D rdoc/classes/Kvlr/ReportsAsSparkli… | 317 -------------------------------
A rdoc/classes/Simplabs/ReportsAsSpa… | 216 +++++++++++++++++++++++++++++++
A rdoc/classes/Simplabs/ReportsAsSpa… | 228 +++++++++++++++++++++++++++++++
A rdoc/classes/Simplabs/ReportsAsSpa… | 192 +++++++++++++++++++++++++++++++
A rdoc/classes/Simplabs/ReportsAsSpa… | 317 +++++++++++++++++++++++++++++++
A rdoc/classes/Simplabs/ReportsAsSpa… | 327 +++++++++++++++++++++++++++++++
R rdoc/classes/Kvlr/ReportsAsSparkli… | 0
M rdoc/created.rid | 2 +-
M rdoc/files/README_rdoc.html | 38 +++++++++++++++++++++++--------
D rdoc/files/lib/kvlr/reports_as_spa… | 102 -------------------------------
D rdoc/files/lib/kvlr/reports_as_spa… | 102 -------------------------------
D rdoc/files/lib/kvlr/reports_as_spa… | 102 -------------------------------
D rdoc/files/lib/kvlr/reports_as_spa… | 102 -------------------------------
D rdoc/files/lib/kvlr/reports_as_spa… | 102 -------------------------------
D rdoc/files/lib/kvlr/reports_as_spa… | 102 -------------------------------
D rdoc/files/lib/kvlr/reports_as_spa… | 102 -------------------------------
A rdoc/files/lib/simplabs/reports_as… | 102 +++++++++++++++++++++++++++++++
A rdoc/files/lib/simplabs/reports_as… | 102 +++++++++++++++++++++++++++++++
A rdoc/files/lib/simplabs/reports_as… | 102 +++++++++++++++++++++++++++++++
A rdoc/files/lib/simplabs/reports_as… | 102 +++++++++++++++++++++++++++++++
A rdoc/files/lib/simplabs/reports_as… | 102 +++++++++++++++++++++++++++++++
A rdoc/files/lib/simplabs/reports_as… | 102 +++++++++++++++++++++++++++++++
A rdoc/files/lib/simplabs/reports_as… | 102 +++++++++++++++++++++++++++++++
M rdoc/fr_method_index.html | 19 +++++++++++--------
29 files changed, 2035 insertions(+), 1935 deletions(-)
---
(DIR) diff --git a/README.rdoc b/README.rdoc
@@ -101,7 +101,7 @@ If you are on PostgreSQL, you should add functional indices:
* Limit number of data points to maximum that the google chart api allows
* Make graph styling configurable
-If you want ot suggest any new features or report bugs, do so at http://simplabs.lighthouseapp.com/projects/21060-reportsassparkline/overview.
+If you want to suggest any new features or report bugs, do so at http://github.com/marcoow/reports_as_sparkline/issues.
== Contributors
(DIR) diff --git a/rdoc/classes/Kvlr/ReportsAsSparkline/ClassMethods.html b/rdoc/classes/Kvlr/ReportsAsSparkline/ClassMethods.html
@@ -1,211 +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>Module: Simplabs::ReportsAsSparkline::ClassMethods</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>Module</strong></td>
- <td class="class-name-in-header">Simplabs::ReportsAsSparkline::ClassMethods</td>
- </tr>
- <tr class="top-aligned-row">
- <td><strong>In:</strong></td>
- <td>
- <a href="../../../files/lib/simplabs/reports_as_sparkline_rb.html">
- lib/simplabs/reports_as_sparkline.rb
- </a>
- <br />
- </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="#M000002">reports_as_sparkline</a>
- </div>
- </div>
-
- </div>
-
-
- <!-- if includes -->
-
- <div id="section">
-
-
-
-
-
-
-
-
- <!-- if method_list -->
- <div id="methods">
- <h3 class="section-bar">Public Instance methods</h3>
-
- <div id="method-M000002" class="method-detail">
- <a name="M000002"></a>
-
- <div class="method-heading">
- <a href="#M000002" class="method-signature">
- <span class="method-name">reports_as_sparkline</span><span class="method-args">(name, options = {})</span>
- </a>
- </div>
-
- <div class="method-description">
- <p>
-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#M000011">Simplabs::ReportsAsSparkline::Report#run</a>).
-</p>
-<h4>Parameters</h4>
-<ul>
-<li><tt>name</tt> - The name of the report, defines the name of the generated
-report method (<name>_report)
-
-</li>
-</ul>
-<h4>Options</h4>
-<ul>
-<li><tt>:date_column</tt> - The name of the date column on that the records are
-aggregated
-
-</li>
-<li><tt>:value_column</tt> - The name of the column that holds the value to sum
-for aggregation :sum
-
-</li>
-<li><tt>:aggregation</tt> - The aggregation to use (one of :count, :sum,
-:minimum, :maximum or :average); when using anything other than :count,
-:value_column must also be specified (<b>If you really want to e.g. sumon
-the ‘id’ column, you have to explicitely say so.</b>)
-
-</li>
-<li><tt>:grouping</tt> - The period records are grouped on (:hour, :day, :week,
-:month); <b>Beware that <a
-href="ClassMethods.html#M000002">reports_as_sparkline</a> treats weeks as
-starting on monday!</b>
-
-</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>
-<li><tt>:live_data</tt> - Specified whether data for the current reporting
-period is read; if :live_data is true, you will experience a performance
-hit since the request cannot be satisfied from the cache only (defaults to
-false)
-
-</li>
-</ul>
-<h4>Examples</h4>
-<pre>
- class Game < ActiveRecord::Base
- reports_as_sparkline :games_per_day
- reports_as_sparkline :games_played_total, :cumulate => true
- end
- class User < ActiveRecord::Base
- reports_as_sparkline :registrations, :aggregation => :count
- reports_as_sparkline :activations, :aggregation => :count, :date_column => :activated_at
- reports_as_sparkline :total_users, :cumulate => true
- reports_as_sparkline :rake, :aggregation => :sum, :value_column => :profile_visits
- end
-</pre>
- <p><a class="source-toggle" href="#"
- onclick="toggleCode('M000002-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000002-source">
-<pre>
- <span class="ruby-comment cmt"># File lib/simplabs/reports_as_sparkline.rb, line 39</span>
-39: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reports_as_sparkline</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">options</span> = {})
-40: (<span class="ruby-keyword kw">class</span> <span class="ruby-operator"><<</span> <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">end</span>).<span class="ruby-identifier">instance_eval</span> <span class="ruby-keyword kw">do</span>
-41: <span class="ruby-identifier">define_method</span> <span class="ruby-node">"#{name.to_s}_report"</span>.<span class="ruby-identifier">to_sym</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-operator">*</span><span class="ruby-identifier">args</span><span class="ruby-operator">|</span>
-42: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">:cumulate</span>)
-43: <span class="ruby-identifier">report</span> = <span class="ruby-constant">Simplabs</span><span class="ruby-operator">::</span><span class="ruby-constant">ReportsAsSparkline</span><span class="ruby-operator">::</span><span class="ruby-constant">CumulatedReport</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">options</span>)
-44: <span class="ruby-keyword kw">else</span>
-45: <span class="ruby-identifier">report</span> = <span class="ruby-constant">Simplabs</span><span class="ruby-operator">::</span><span class="ruby-constant">ReportsAsSparkline</span><span class="ruby-operator">::</span><span class="ruby-constant">Report</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">options</span>)
-46: <span class="ruby-keyword kw">end</span>
-47: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> (<span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Hash</span>))
-48: <span class="ruby-identifier">report</span>.<span class="ruby-identifier">run</span>(<span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> {} <span class="ruby-operator">:</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])
-49: <span class="ruby-keyword kw">end</span>
-50: <span class="ruby-keyword kw">end</span>
-51: <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/CumulatedReport.html b/rdoc/classes/Kvlr/ReportsAsSparkline/CumulatedReport.html
@@ -1,169 +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: Simplabs::ReportsAsSparkline::CumulatedReport</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">Simplabs::ReportsAsSparkline::CumulatedReport</td>
- </tr>
- <tr class="top-aligned-row">
- <td><strong>In:</strong></td>
- <td>
- <a href="../../../files/lib/simplabs/reports_as_sparkline/cumulated_report_rb.html">
- lib/simplabs/reports_as_sparkline/cumulated_report.rb
- </a>
- <br />
- </td>
- </tr>
-
- <tr class="top-aligned-row">
- <td><strong>Parent:</strong></td>
- <td>
- <a href="Report.html">
- Report
- </a>
- </td>
- </tr>
- </table>
- </div>
- <!-- banner header -->
-
- <div id="bodyContent">
-
-
-
- <div id="contextContent">
-
- <div id="description">
- <p>
-A special report class that cumulates all data (see <a
-href="Report.html">Simplabs::ReportsAsSparkline::Report</a>)
-</p>
-<h4>Examples</h4>
-<pre>
- When Simplabs::ReportsAsSparkline::Report returns
-
- [[<DateTime today>, 1], [<DateTime yesterday>, 2], etc.]
-
- Simplabs::ReportsAsSparkline::CumulatedReport returns
-
- [[<DateTime today>, 3], [<DateTime yesterday>, 2], etc.]
-</pre>
-
- </div>
-
-
- </div>
-
- <div id="method-list">
- <h3 class="section-bar">Methods</h3>
-
- <div class="name-list">
- <a href="#M000003">run</a>
- </div>
- </div>
-
- </div>
-
-
- <!-- if includes -->
-
- <div id="section">
-
-
-
-
-
-
-
-
- <!-- if method_list -->
- <div id="methods">
- <h3 class="section-bar">Public Instance methods</h3>
-
- <div id="method-M000003" class="method-detail">
- <a name="M000003"></a>
-
- <div class="method-heading">
- <a href="#M000003" 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 (see <a
-href="Report.html#M000011">Simplabs::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/simplabs/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>
- </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/Grouping.html b/rdoc/classes/Kvlr/ReportsAsSparkline/Grouping.html
@@ -1,191 +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: Simplabs::ReportsAsSparkline::Grouping</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">Simplabs::ReportsAsSparkline::Grouping</td>
- </tr>
- <tr class="top-aligned-row">
- <td><strong>In:</strong></td>
- <td>
- <a href="../../../files/lib/simplabs/reports_as_sparkline/grouping_rb.html">
- lib/simplabs/reports_as_sparkline/grouping.rb
- </a>
- <br />
- </td>
- </tr>
-
- <tr class="top-aligned-row">
- <td><strong>Parent:</strong></td>
- <td>
- Object
- </td>
- </tr>
- </table>
- </div>
- <!-- banner header -->
-
- <div id="bodyContent">
-
-
-
- <div id="contextContent">
-
- <div id="description">
- <p>
-This is the grouping a report uses to group records in the database
-</p>
-
- </div>
-
-
- </div>
-
- <div id="method-list">
- <h3 class="section-bar">Methods</h3>
-
- <div class="name-list">
- <a href="#M000005">identifier</a>
- <a href="#M000004">new</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">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('M000004-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000004-source">
-<pre>
- <span class="ruby-comment cmt"># File lib/simplabs/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 #{identifier}"</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>
- </div>
-
- <h3 class="section-bar">Public Instance methods</h3>
-
- <div id="method-M000005" class="method-detail">
- <a name="M000005"></a>
-
- <div class="method-heading">
- <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('M000005-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000005-source">
-<pre>
- <span class="ruby-comment cmt"># File lib/simplabs/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>
- </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/Report.html b/rdoc/classes/Kvlr/ReportsAsSparkline/Report.html
@@ -1,309 +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: Simplabs::ReportsAsSparkline::Report</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">Simplabs::ReportsAsSparkline::Report</td>
- </tr>
- <tr class="top-aligned-row">
- <td><strong>In:</strong></td>
- <td>
- <a href="../../../files/lib/simplabs/reports_as_sparkline/report_rb.html">
- lib/simplabs/reports_as_sparkline/report.rb
- </a>
- <br />
- </td>
- </tr>
-
- <tr class="top-aligned-row">
- <td><strong>Parent:</strong></td>
- <td>
- Object
- </td>
- </tr>
- </table>
- </div>
- <!-- banner header -->
-
- <div id="bodyContent">
-
-
-
- <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>
-
- <div id="method-list">
- <h3 class="section-bar">Methods</h3>
-
- <div class="name-list">
- <a href="#M000010">new</a>
- <a href="#M000011">run</a>
- </div>
- </div>
-
- </div>
-
-
- <!-- if includes -->
-
- <div id="section">
-
-
-
-
-
- <div id="attribute-list">
- <h3 class="section-bar">Attributes</h3>
-
- <div class="name-list">
- <table>
- <tr class="top-aligned-row context-row">
- <td class="context-item-name">aggregation</td>
- <td class="context-item-value"> [R] </td>
- <td class="context-item-desc"></td>
- </tr>
- <tr class="top-aligned-row context-row">
- <td class="context-item-name">date_column</td>
- <td class="context-item-value"> [R] </td>
- <td class="context-item-desc"></td>
- </tr>
- <tr class="top-aligned-row context-row">
- <td class="context-item-name">klass</td>
- <td class="context-item-value"> [R] </td>
- <td class="context-item-desc"></td>
- </tr>
- <tr class="top-aligned-row context-row">
- <td class="context-item-name">name</td>
- <td class="context-item-value"> [R] </td>
- <td class="context-item-desc"></td>
- </tr>
- <tr class="top-aligned-row context-row">
- <td class="context-item-name">options</td>
- <td class="context-item-value"> [R] </td>
- <td class="context-item-desc"></td>
- </tr>
- <tr class="top-aligned-row context-row">
- <td class="context-item-name">value_column</td>
- <td class="context-item-value"> [R] </td>
- <td class="context-item-desc"></td>
- </tr>
- </table>
- </div>
- </div>
-
-
-
- <!-- if method_list -->
- <div id="methods">
- <h3 class="section-bar">Public Class methods</h3>
-
- <div id="method-M000010" class="method-detail">
- <a name="M000010"></a>
-
- <div class="method-heading">
- <a href="#M000010" 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#M000002">Simplabs::ReportsAsSparkline::ClassMethods#reports_as_sparkline</a>
-on)
-
-</li>
-<li><tt>name</tt> - The name of the report (as in <a
-href="ClassMethods.html#M000002">Simplabs::ReportsAsSparkline::ClassMethods#reports_as_sparkline</a>)
-
-</li>
-</ul>
-<h4>Options</h4>
-<ul>
-<li><tt>:date_column</tt> - The name of the date column on that the records are
-aggregated
-
-</li>
-<li><tt>:value_column</tt> - The name of the column that holds the value to sum
-for aggregation :sum
-
-</li>
-<li><tt>:aggregation</tt> - The aggregation to use (one of :count, :sum,
-:minimum, :maximum or :average); when using anything other than :count,
-:value_column must also be specified (<b>If you really want to e.g. sumon
-the ‘id’ column, you have to explicitely say so.</b>)
-
-</li>
-<li><tt>:grouping</tt> - The period records are grouped on (:hour, :day, :week,
-:month); <b>Beware that reports_as_sparkline treats weeks as starting on
-monday!</b>
-
-</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>
-<li><tt>:live_data</tt> - Specified whether data for the current reporting
-period is read; if :live_data is true, you will experience a performance
-hit since the request cannot be satisfied from the cache only (defaults to
-false)
-
-</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">
-<pre>
- <span class="ruby-comment cmt"># File lib/simplabs/reports_as_sparkline/report.rb, line 23</span>
-23: <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> = {})
-24: <span class="ruby-identifier">ensure_valid_options</span>(<span class="ruby-identifier">options</span>)
-25: <span class="ruby-ivar">@klass</span> = <span class="ruby-identifier">klass</span>
-26: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
-27: <span class="ruby-ivar">@date_column</span> = (<span class="ruby-identifier">options</span>[<span class="ruby-identifier">:date_column</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">'created_at'</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">@value_column</span> = (<span class="ruby-identifier">options</span>[<span class="ruby-identifier">:value_column</span>] <span class="ruby-operator">||</span> (<span class="ruby-ivar">@aggregation</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:count</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>
-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: <span class="ruby-identifier">:grouping</span> =<span class="ruby-operator">></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>),
-34: <span class="ruby-identifier">:live_data</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:live_data</span>] <span class="ruby-operator">||</span> <span class="ruby-keyword kw">false</span>
-35: }
-36: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">options</span>)
-37: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">freeze</span>
-38: <span class="ruby-keyword kw">end</span>
-</pre>
- </div>
- </div>
- </div>
-
- <h3 class="section-bar">Public Instance methods</h3>
-
- <div id="method-M000011" class="method-detail">
- <a name="M000011"></a>
-
- <div class="method-heading">
- <a href="#M000011" 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>
-<li><tt>:grouping</tt> - The period records are grouped on (:hour, :day, :week,
-:month); <b>Beware that reports_as_sparkline treats weeks as starting on
-monday!</b>
-
-</li>
-<li><tt>:live_data</tt> - Specified whether data for the current reporting
-period is read; if :live_data is true, you will experience a performance
-hit since the request cannot be satisfied from the cache only (defaults to
-false)
-
-</li>
-</ul>
- <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/simplabs/reports_as_sparkline/report.rb, line 47</span>
-47: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run</span>(<span class="ruby-identifier">options</span> = {})
-48: <span class="ruby-identifier">ensure_valid_options</span>(<span class="ruby-identifier">options</span>, <span class="ruby-identifier">:run</span>)
-49: <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>)
-50: <span class="ruby-identifier">options</span>.<span class="ruby-identifier">reverse_merge!</span>(<span class="ruby-ivar">@options</span>)
-51: <span class="ruby-identifier">options</span>[<span class="ruby-identifier">: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-keyword kw">unless</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:grouping</span>].<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Grouping</span>)
-52: <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-operator">!</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>
-53: <span class="ruby-identifier">read_data</span>(<span class="ruby-identifier">begin_at</span>, <span class="ruby-identifier">options</span>)
-54: <span class="ruby-keyword kw">end</span>
-55: <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
@@ -1,316 +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: Simplabs::ReportsAsSparkline::ReportingPeriod</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">Simplabs::ReportsAsSparkline::ReportingPeriod</td>
- </tr>
- <tr class="top-aligned-row">
- <td><strong>In:</strong></td>
- <td>
- <a href="../../../files/lib/simplabs/reports_as_sparkline/reporting_period_rb.html">
- lib/simplabs/reports_as_sparkline/reporting_period.rb
- </a>
- <br />
- </td>
- </tr>
-
- <tr class="top-aligned-row">
- <td><strong>Parent:</strong></td>
- <td>
- Object
- </td>
- </tr>
- </table>
- </div>
- <!-- banner header -->
-
- <div id="bodyContent">
-
-
-
- <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
-together.
-</p>
-
- </div>
-
-
- </div>
-
- <div id="method-list">
- <h3 class="section-bar">Methods</h3>
-
- <div class="name-list">
- <a href="#M000007">first</a>
- <a href="#M000006">new</a>
- <a href="#M000008">next</a>
- <a href="#M000009">previous</a>
- </div>
- </div>
-
- </div>
-
-
- <!-- if includes -->
-
- <div id="section">
-
-
-
-
-
- <div id="attribute-list">
- <h3 class="section-bar">Attributes</h3>
-
- <div class="name-list">
- <table>
- <tr class="top-aligned-row context-row">
- <td class="context-item-name">date_time</td>
- <td class="context-item-value"> [R] </td>
- <td class="context-item-desc"></td>
- </tr>
- <tr class="top-aligned-row context-row">
- <td class="context-item-name">grouping</td>
- <td class="context-item-value"> [R] </td>
- <td class="context-item-desc"></td>
- </tr>
- </table>
- </div>
- </div>
-
-
-
- <!-- if method_list -->
- <div id="methods">
- <h3 class="section-bar">Public Class 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">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">Simplabs::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('M000007-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000007-source">
-<pre>
- <span class="ruby-comment cmt"># File lib/simplabs/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-M000006" class="method-detail">
- <a name="M000006"></a>
-
- <div class="method-heading">
- <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">
- <h4>Parameters</h4>
-<ul>
-<li><tt>grouping</tt> - The <a
-href="Grouping.html">Simplabs::ReportsAsSparkline::Grouping</a> of the
-reporting period
-
-</li>
-<li><tt>date_time</tt> - The DateTime that reporting period is created for
-
-</li>
-</ul>
- <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/simplabs/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>
- </div>
-
- <h3 class="section-bar">Public Instance methods</h3>
-
- <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">next</span><span class="method-args">()</span>
- </a>
- </div>
-
- <div class="method-description">
- <p>
-Returns the <a href="ReportingPeriod.html#M000008">next</a> reporting
-period (that is <a href="ReportingPeriod.html#M000008">next</a>
-hour/day/month/year)
-</p>
- <p><a class="source-toggle" href="#"
- 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/simplabs/reports_as_sparkline/reporting_period.rb, line 53</span>
-53: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">next</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>
- </div>
-
- <div id="method-M000009" class="method-detail">
- <a name="M000009"></a>
-
- <div class="method-heading">
- <a href="#M000009" 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#M000009">previous</a> reporting
-period (that is <a href="ReportingPeriod.html#M000008">next</a>
-hour/day/month/year)
-</p>
- <p><a class="source-toggle" href="#"
- 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/simplabs/reports_as_sparkline/reporting_period.rb, line 67</span>
-67: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">previous</span>
-68: <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>
-69: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:hour</span>
-70: <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>)
-71: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:day</span>
-72: <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>)
-73: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:week</span>
-74: <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>)
-75: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:month</span>
-76: <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>)
-77: <span class="ruby-keyword kw">end</span>
-78: <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/Simplabs/ReportsAsSparkline/ClassMethods.html b/rdoc/classes/Simplabs/ReportsAsSparkline/ClassMethods.html
@@ -0,0 +1,215 @@
+<?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>Module: Simplabs::ReportsAsSparkline::ClassMethods</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>Module</strong></td>
+ <td class="class-name-in-header">Simplabs::ReportsAsSparkline::ClassMethods</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../files/lib/simplabs/reports_as_sparkline_rb.html">
+ lib/simplabs/reports_as_sparkline.rb
+ </a>
+ <br />
+ </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="#M000002">reports_as_sparkline</a>
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000002" class="method-detail">
+ <a name="M000002"></a>
+
+ <div class="method-heading">
+ <a href="#M000002" class="method-signature">
+ <span class="method-name">reports_as_sparkline</span><span class="method-args">(name, options = {})</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+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#M000014">Simplabs::ReportsAsSparkline::Report#run</a>).
+</p>
+<h4>Parameters</h4>
+<ul>
+<li><tt>name</tt> - The name of the report, defines the name of the generated
+report method (<name>_report)
+
+</li>
+</ul>
+<h4>Options</h4>
+<ul>
+<li><tt>:date_column</tt> - The name of the date column on that the records are
+aggregated
+
+</li>
+<li><tt>:value_column</tt> - The name of the column that holds the value to sum
+for aggregation :sum
+
+</li>
+<li><tt>:aggregation</tt> - The aggregation to use (one of :count, :sum,
+:minimum, :maximum or :average); when using anything other than :count,
+:value_column must also be specified (<b>If you really want to e.g. sumon
+the ‘id’ column, you have to explicitely say so.</b>)
+
+</li>
+<li><tt>:grouping</tt> - The period records are grouped on (:hour, :day, :week,
+:month); <b>Beware that <a
+href="ClassMethods.html#M000002">reports_as_sparkline</a> treats weeks as
+starting on monday!</b>
+
+</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>
+<li><tt>:live_data</tt> - Specified whether data for the current reporting
+period is read; if :live_data is true, you will experience a performance
+hit since the request cannot be satisfied from the cache only (defaults to
+false)
+
+</li>
+<li><tt>:end_date</tt> - When specified, the report will only include data for
+the periods before this date.
+
+</li>
+</ul>
+<h4>Examples</h4>
+<pre>
+ class Game < ActiveRecord::Base
+ reports_as_sparkline :games_per_day
+ reports_as_sparkline :games_played_total, :cumulate => true
+ end
+ class User < ActiveRecord::Base
+ reports_as_sparkline :registrations, :aggregation => :count
+ reports_as_sparkline :activations, :aggregation => :count, :date_column => :activated_at
+ reports_as_sparkline :total_users, :cumulate => true
+ reports_as_sparkline :rake, :aggregation => :sum, :value_column => :profile_visits
+ end
+</pre>
+ <p><a class="source-toggle" href="#"
+ onclick="toggleCode('M000002-source');return false;">[Source]</a></p>
+ <div class="method-source-code" id="M000002-source">
+<pre>
+ <span class="ruby-comment cmt"># File lib/simplabs/reports_as_sparkline.rb, line 40</span>
+40: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reports_as_sparkline</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">options</span> = {})
+41: (<span class="ruby-keyword kw">class</span> <span class="ruby-operator"><<</span> <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">end</span>).<span class="ruby-identifier">instance_eval</span> <span class="ruby-keyword kw">do</span>
+42: <span class="ruby-identifier">define_method</span> <span class="ruby-node">"#{name.to_s}_report"</span>.<span class="ruby-identifier">to_sym</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-operator">*</span><span class="ruby-identifier">args</span><span class="ruby-operator">|</span>
+43: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">:cumulate</span>)
+44: <span class="ruby-identifier">report</span> = <span class="ruby-constant">Simplabs</span><span class="ruby-operator">::</span><span class="ruby-constant">ReportsAsSparkline</span><span class="ruby-operator">::</span><span class="ruby-constant">CumulatedReport</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">options</span>)
+45: <span class="ruby-keyword kw">else</span>
+46: <span class="ruby-identifier">report</span> = <span class="ruby-constant">Simplabs</span><span class="ruby-operator">::</span><span class="ruby-constant">ReportsAsSparkline</span><span class="ruby-operator">::</span><span class="ruby-constant">Report</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">options</span>)
+47: <span class="ruby-keyword kw">end</span>
+48: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> (<span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Hash</span>))
+49: <span class="ruby-identifier">report</span>.<span class="ruby-identifier">run</span>(<span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> {} <span class="ruby-operator">:</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])
+50: <span class="ruby-keyword kw">end</span>
+51: <span class="ruby-keyword kw">end</span>
+52: <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/Simplabs/ReportsAsSparkline/CumulatedReport.html b/rdoc/classes/Simplabs/ReportsAsSparkline/CumulatedReport.html
@@ -0,0 +1,227 @@
+<?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: Simplabs::ReportsAsSparkline::CumulatedReport</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">Simplabs::ReportsAsSparkline::CumulatedReport</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../files/lib/simplabs/reports_as_sparkline/cumulated_report_rb.html">
+ lib/simplabs/reports_as_sparkline/cumulated_report.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ <a href="Report.html">
+ Report
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="description">
+ <p>
+A special report class that cumulates all data (see <a
+href="Report.html">Simplabs::ReportsAsSparkline::Report</a>)
+</p>
+<h4>Examples</h4>
+<pre>
+ When Simplabs::ReportsAsSparkline::Report returns
+
+ [[<DateTime today>, 1], [<DateTime yesterday>, 2], etc.]
+
+ Simplabs::ReportsAsSparkline::CumulatedReport returns
+
+ [[<DateTime today>, 3], [<DateTime yesterday>, 2], etc.]
+</pre>
+
+ </div>
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000004">cumulate</a>
+ <a href="#M000005">initial_cumulative_value</a>
+ <a href="#M000003">run</a>
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000003" class="method-detail">
+ <a name="M000003"></a>
+
+ <div class="method-heading">
+ <a href="#M000003" 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 (see <a
+href="Report.html#M000014">Simplabs::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/simplabs/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>, <span class="ruby-identifier">options_for_run</span>(<span class="ruby-identifier">options</span>))
+21: <span class="ruby-keyword kw">end</span>
+</pre>
+ </div>
+ </div>
+ </div>
+
+ <h3 class="section-bar">Protected Instance 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">cumulate</span><span class="method-args">(data, options)</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/simplabs/reports_as_sparkline/cumulated_report.rb, line 25</span>
+25: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cumulate</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">options</span>)
+26: <span class="ruby-identifier">first_reporting_period</span> = <span class="ruby-constant">ReportingPeriod</span>.<span class="ruby-identifier">first</span>(<span class="ruby-identifier">options</span>[<span class="ruby-identifier">:grouping</span>], <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:limit</span>], <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:end_date</span>])
+27: <span class="ruby-identifier">acc</span> = <span class="ruby-identifier">initial_cumulative_value</span>(<span class="ruby-identifier">first_reporting_period</span>.<span class="ruby-identifier">date_time</span>, <span class="ruby-identifier">options</span>)
+28: <span class="ruby-identifier">result</span> = []
+29: <span class="ruby-identifier">data</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">element</span><span class="ruby-operator">|</span>
+30: <span class="ruby-identifier">acc</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">element</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">to_f</span>
+31: <span class="ruby-identifier">result</span> <span class="ruby-operator"><<</span> [<span class="ruby-identifier">element</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">acc</span>]
+32: <span class="ruby-keyword kw">end</span>
+33: <span class="ruby-identifier">result</span>
+34: <span class="ruby-keyword kw">end</span>
+</pre>
+ </div>
+ </div>
+ </div>
+
+ <div id="method-M000005" class="method-detail">
+ <a name="M000005"></a>
+
+ <div class="method-heading">
+ <a href="#M000005" class="method-signature">
+ <span class="method-name">initial_cumulative_value</span><span class="method-args">(date, options)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p><a class="source-toggle" href="#"
+ 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/simplabs/reports_as_sparkline/cumulated_report.rb, line 36</span>
+36: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initial_cumulative_value</span>(<span class="ruby-identifier">date</span>, <span class="ruby-identifier">options</span>)
+37: <span class="ruby-identifier">conditions</span> = <span class="ruby-identifier">setup_conditions</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">date</span>, <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:conditions</span>])
+38: <span class="ruby-ivar">@klass</span>.<span class="ruby-identifier">send</span>(<span class="ruby-ivar">@aggregation</span>, <span class="ruby-ivar">@value_column</span>, <span class="ruby-identifier">:conditions</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">conditions</span>)
+39: <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/Simplabs/ReportsAsSparkline/Grouping.html b/rdoc/classes/Simplabs/ReportsAsSparkline/Grouping.html
@@ -0,0 +1,191 @@
+<?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: Simplabs::ReportsAsSparkline::Grouping</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">Simplabs::ReportsAsSparkline::Grouping</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../files/lib/simplabs/reports_as_sparkline/grouping_rb.html">
+ lib/simplabs/reports_as_sparkline/grouping.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ Object
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="description">
+ <p>
+This is the grouping a report uses to group records in the database
+</p>
+
+ </div>
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000007">identifier</a>
+ <a href="#M000006">new</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-M000006" class="method-detail">
+ <a name="M000006"></a>
+
+ <div class="method-heading">
+ <a href="#M000006" 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#M000007">identifier</a></tt> - The <a
+href="Grouping.html#M000007">identifier</a> of the grouping - one of :hour,
+:day, :week or :month
+
+</li>
+</ul>
+ <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/simplabs/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 #{identifier}"</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>
+ </div>
+
+ <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">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#M000007">identifier</a>
+</p>
+ <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/simplabs/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>
+ </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/Simplabs/ReportsAsSparkline/Report.html b/rdoc/classes/Simplabs/ReportsAsSparkline/Report.html
@@ -0,0 +1,316 @@
+<?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: Simplabs::ReportsAsSparkline::Report</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">Simplabs::ReportsAsSparkline::Report</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../files/lib/simplabs/reports_as_sparkline/report_rb.html">
+ lib/simplabs/reports_as_sparkline/report.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ Object
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <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>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000013">new</a>
+ <a href="#M000014">run</a>
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+ <div id="attribute-list">
+ <h3 class="section-bar">Attributes</h3>
+
+ <div class="name-list">
+ <table>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">aggregation</td>
+ <td class="context-item-value"> [R] </td>
+ <td class="context-item-desc"></td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">date_column</td>
+ <td class="context-item-value"> [R] </td>
+ <td class="context-item-desc"></td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">klass</td>
+ <td class="context-item-value"> [R] </td>
+ <td class="context-item-desc"></td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">name</td>
+ <td class="context-item-value"> [R] </td>
+ <td class="context-item-desc"></td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">options</td>
+ <td class="context-item-value"> [R] </td>
+ <td class="context-item-desc"></td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">value_column</td>
+ <td class="context-item-value"> [R] </td>
+ <td class="context-item-desc"></td>
+ </tr>
+ </table>
+ </div>
+ </div>
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class 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">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#M000002">Simplabs::ReportsAsSparkline::ClassMethods#reports_as_sparkline</a>
+on)
+
+</li>
+<li><tt>name</tt> - The name of the report (as in <a
+href="ClassMethods.html#M000002">Simplabs::ReportsAsSparkline::ClassMethods#reports_as_sparkline</a>)
+
+</li>
+</ul>
+<h4>Options</h4>
+<ul>
+<li><tt>:date_column</tt> - The name of the date column on that the records are
+aggregated
+
+</li>
+<li><tt>:value_column</tt> - The name of the column that holds the value to sum
+for aggregation :sum
+
+</li>
+<li><tt>:aggregation</tt> - The aggregation to use (one of :count, :sum,
+:minimum, :maximum or :average); when using anything other than :count,
+:value_column must also be specified (<b>If you really want to e.g. sumon
+the ‘id’ column, you have to explicitely say so.</b>)
+
+</li>
+<li><tt>:grouping</tt> - The period records are grouped on (:hour, :day, :week,
+:month); <b>Beware that reports_as_sparkline treats weeks as starting on
+monday!</b>
+
+</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>
+<li><tt>:live_data</tt> - Specified whether data for the current reporting
+period is read; if :live_data is true, you will experience a performance
+hit since the request cannot be satisfied from the cache only (defaults to
+false)
+
+</li>
+<li><tt>:end_date</tt> - When specified, the report will only include data for
+the periods before this date.
+
+</li>
+</ul>
+ <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/simplabs/reports_as_sparkline/report.rb, line 24</span>
+24: <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> = {})
+25: <span class="ruby-identifier">ensure_valid_options</span>(<span class="ruby-identifier">options</span>)
+26: <span class="ruby-ivar">@klass</span> = <span class="ruby-identifier">klass</span>
+27: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
+28: <span class="ruby-ivar">@date_column</span> = (<span class="ruby-identifier">options</span>[<span class="ruby-identifier">:date_column</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">'created_at'</span>).<span class="ruby-identifier">to_s</span>
+29: <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>
+30: <span class="ruby-ivar">@value_column</span> = (<span class="ruby-identifier">options</span>[<span class="ruby-identifier">:value_column</span>] <span class="ruby-operator">||</span> (<span class="ruby-ivar">@aggregation</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:count</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>
+31: <span class="ruby-ivar">@options</span> = {
+32: <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>,
+33: <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> [],
+34: <span class="ruby-identifier">:grouping</span> =<span class="ruby-operator">></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>),
+35: <span class="ruby-identifier">:live_data</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:live_data</span>] <span class="ruby-operator">||</span> <span class="ruby-keyword kw">false</span>,
+36: <span class="ruby-identifier">:end_date</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:end_date</span>] <span class="ruby-operator">||</span> <span class="ruby-keyword kw">false</span>
+37: }
+38: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">options</span>)
+39: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">freeze</span>
+40: <span class="ruby-keyword kw">end</span>
+</pre>
+ </div>
+ </div>
+ </div>
+
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000014" class="method-detail">
+ <a name="M000014"></a>
+
+ <div class="method-heading">
+ <a href="#M000014" 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>
+<li><tt>:grouping</tt> - The period records are grouped on (:hour, :day, :week,
+:month); <b>Beware that reports_as_sparkline treats weeks as starting on
+monday!</b>
+
+</li>
+<li><tt>:live_data</tt> - Specified whether data for the current reporting
+period is read; if :live_data is true, you will experience a performance
+hit since the request cannot be satisfied from the cache only (defaults to
+false)
+
+</li>
+<li><tt>:end_date</tt> - When specified, the report will only include data for
+the periods before this date.
+
+</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">
+<pre>
+ <span class="ruby-comment cmt"># File lib/simplabs/reports_as_sparkline/report.rb, line 50</span>
+50: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run</span>(<span class="ruby-identifier">options</span> = {})
+51: <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>)
+52: <span class="ruby-identifier">options</span> = <span class="ruby-identifier">options_for_run</span>(<span class="ruby-identifier">options</span>)
+53: <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-operator">!</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-identifier">end_at</span><span class="ruby-operator">|</span>
+54: <span class="ruby-identifier">read_data</span>(<span class="ruby-identifier">begin_at</span>, <span class="ruby-identifier">end_at</span>, <span class="ruby-identifier">options</span>)
+55: <span class="ruby-keyword kw">end</span>
+56: <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/Simplabs/ReportsAsSparkline/ReportingPeriod.html b/rdoc/classes/Simplabs/ReportsAsSparkline/ReportingPeriod.html
@@ -0,0 +1,326 @@
+<?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: Simplabs::ReportsAsSparkline::ReportingPeriod</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">Simplabs::ReportsAsSparkline::ReportingPeriod</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../files/lib/simplabs/reports_as_sparkline/reporting_period_rb.html">
+ lib/simplabs/reports_as_sparkline/reporting_period.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ Object
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <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
+together.
+</p>
+
+ </div>
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000009">first</a>
+ <a href="#M000008">new</a>
+ <a href="#M000010">next</a>
+ <a href="#M000012">offset</a>
+ <a href="#M000011">previous</a>
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+ <div id="attribute-list">
+ <h3 class="section-bar">Attributes</h3>
+
+ <div class="name-list">
+ <table>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">date_time</td>
+ <td class="context-item-value"> [R] </td>
+ <td class="context-item-desc"></td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">grouping</td>
+ <td class="context-item-value"> [R] </td>
+ <td class="context-item-desc"></td>
+ </tr>
+ </table>
+ </div>
+ </div>
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class methods</h3>
+
+ <div id="method-M000009" class="method-detail">
+ <a name="M000009"></a>
+
+ <div class="method-heading">
+ <a href="#M000009" class="method-signature">
+ <span class="method-name">first</span><span class="method-args">(grouping, limit, end_date = nil)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Returns the <a href="ReportingPeriod.html#M000009">first</a> reporting
+period for a grouping and a limit; e.g. the <a
+href="ReportingPeriod.html#M000009">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">Simplabs::ReportsAsSparkline::Grouping</a> of the
+reporting period
+
+</li>
+<li><tt>limit</tt> - The number of reporting periods until the <a
+href="ReportingPeriod.html#M000009">first</a> one
+
+</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">
+<pre>
+ <span class="ruby-comment cmt"># File lib/simplabs/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>, <span class="ruby-identifier">end_date</span> = <span class="ruby-keyword kw">nil</span>)
+24: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">grouping</span>, <span class="ruby-identifier">end_date</span>).<span class="ruby-identifier">offset</span>(<span class="ruby-operator">-</span><span class="ruby-identifier">limit</span>)
+25: <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">new</span><span class="method-args">(grouping, date_time = nil)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <h4>Parameters</h4>
+<ul>
+<li><tt>grouping</tt> - The <a
+href="Grouping.html">Simplabs::ReportsAsSparkline::Grouping</a> of the
+reporting period
+
+</li>
+<li><tt>date_time</tt> - The DateTime that reporting period is created for
+
+</li>
+</ul>
+ <p><a class="source-toggle" href="#"
+ 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/simplabs/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-keyword kw">nil</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> <span class="ruby-operator">||</span> <span class="ruby-constant">DateTime</span>.<span class="ruby-identifier">now</span>)
+16: <span class="ruby-keyword kw">end</span>
+</pre>
+ </div>
+ </div>
+ </div>
+
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000010" class="method-detail">
+ <a name="M000010"></a>
+
+ <div class="method-heading">
+ <a href="#M000010" class="method-signature">
+ <span class="method-name">next</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Returns the <a href="ReportingPeriod.html#M000010">next</a> reporting
+period (that is <a href="ReportingPeriod.html#M000010">next</a>
+hour/day/month/year)
+</p>
+ <p><a class="source-toggle" href="#"
+ 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/simplabs/reports_as_sparkline/reporting_period.rb, line 43</span>
+43: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">next</span>
+44: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">offset</span>(<span class="ruby-value">1</span>)
+45: <span class="ruby-keyword kw">end</span>
+</pre>
+ </div>
+ </div>
+ </div>
+
+ <div id="method-M000012" class="method-detail">
+ <a name="M000012"></a>
+
+ <div class="method-heading">
+ <a href="#M000012" class="method-signature">
+ <span class="method-name">offset</span><span class="method-args">(offset)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Returns the reporting period with the specified <a
+href="ReportingPeriod.html#M000012">offset</a> from the current
+</p>
+<h4>Parameters</h4>
+<ul>
+<li><tt><a href="ReportingPeriod.html#M000012">offset</a></tt> - The <a
+href="ReportingPeriod.html#M000012">offset</a> to return the reporting
+period for (specifies the <a href="ReportingPeriod.html#M000012">offset</a>
+in hours/days/months/years), depending on the reporting period‘s
+grouping
+
+</li>
+</ul>
+ <p><a class="source-toggle" href="#"
+ onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
+ <div class="method-source-code" id="M000012-source">
+<pre>
+ <span class="ruby-comment cmt"># File lib/simplabs/reports_as_sparkline/reporting_period.rb, line 56</span>
+56: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">offset</span>(<span class="ruby-identifier">offset</span>)
+57: <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-identifier">offset</span>.<span class="ruby-identifier">send</span>(<span class="ruby-ivar">@grouping</span>.<span class="ruby-identifier">identifier</span>))
+58: <span class="ruby-keyword kw">end</span>
+</pre>
+ </div>
+ </div>
+ </div>
+
+ <div id="method-M000011" class="method-detail">
+ <a name="M000011"></a>
+
+ <div class="method-heading">
+ <a href="#M000011" 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#M000011">previous</a> reporting
+period (that is <a href="ReportingPeriod.html#M000010">next</a>
+hour/day/month/year)
+</p>
+ <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/simplabs/reports_as_sparkline/reporting_period.rb, line 48</span>
+48: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">previous</span>
+49: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">offset</span>(<span class="ruby-value">-1</span>)
+50: <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/SparklineTagHelper.html b/rdoc/classes/Simplabs/ReportsAsSparkline/SparklineTagHelper.html
(DIR) diff --git a/rdoc/created.rid b/rdoc/created.rid
@@ -1 +1 @@
-Mon, 23 Feb 2009 15:46:25 +0100
+Wed, 29 Apr 2009 16:35:17 +0200
(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>Mon Feb 02 11:51:38 +0100 2009</td>
+ <td>Wed Apr 29 16:35:10 +0200 2009</td>
</tr>
</table>
</div>
@@ -89,8 +89,10 @@ aggregated
aggregation :sum
</li>
-<li>:aggregation - The aggregation to use (either :count or :sum); when using
-:sum, :value_column must also be specified
+<li>:aggregation - The aggregation to use (one of :count, :sum, :minimum,
+:maximum or :average); when using anything other than :count, :value_column
+must also be specified (<b>If you really want to e.g. sumon the
+‘id’ column, you have to explicitely say so.</b>)
</li>
<li>:grouping - The period records are grouped on (:hour, :day, :week, :month);
@@ -113,6 +115,10 @@ read; if :live_data is true, you will experience a performance hit since
the request cannot be satisfied from the cache only (defaults to false)
</li>
+<li>:end_date - When specified, the report will only include data for the
+periods before this date.
+
+</li>
</ul>
<p>
<b>Example:</b>
@@ -152,6 +158,10 @@ read; if :live_data is true, you will experience a performance hit since
the request cannot be satisfied from the cache only (defaults to false)
</li>
+<li>:end_date - When specified, the report will be for the periods before this
+date.
+
+</li>
</ul>
<p>
<b>Example:</b>
@@ -203,13 +213,13 @@ Installation requires 3 simple steps:
From your RAILS_ROOT in Rails &gt;= 2.1, do
</p>
<pre>
- ./script/plugin install git://github.com/mk/reports_as_sparkline.git
+ ./script/plugin install git://github.com/marcoow/reports_as_sparkline.git
</pre>
<p>
If you are on Rails &lt; 2.1, do this from your RAILS_ROOT
</p>
<pre>
- git clone git://github.com/mk/reports_as_sparkline.git vendor/plugins/reports_as_sparkline
+ git clone git://github.com/marcoow/reports_as_sparkline.git vendor/plugins/reports_as_sparkline
</pre>
<p>
<b>generate migration</b>
@@ -257,13 +267,21 @@ If you are on PostgreSQL, you should add functional indices:
</li>
</ul>
<p>
-If you want ot suggest any new features or report bugs, do so at <a
-href="http://simplabs.lighthouseapp.com/projects/21060-reportsassparkline/overview">simplabs.lighthouseapp.com/projects/21060-reportsassparkline/overview</a>.
+If you want to suggest any new features or report bugs, do so at <a
+href="http://github.com/marcoow/reports_as_sparkline/issues">github.com/marcoow/reports_as_sparkline/issues</a>.
</p>
+<h2>Contributors</h2>
+<ul>
+<li>myronmarston (<a
+href="http://github.com/myronmarston">github.com/myronmarston</a>)
+
+</li>
+</ul>
+<h2>Author</h2>
<p>
-© 2008-2009 Martin Kavalar, Marco Otte-Witte (<a
-href="http://simplabs.com/#projects">simplabs.com/#projects</a>), released
-under the MIT license
+© 2008-2009 Marco Otte-Witte (<a
+href="http://simplabs.com/#projects">simplabs.com/#projects</a>), Martin
+Kavalar, released under the MIT license
</p>
</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
@@ -1,101 +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>File: cumulated_report.rb</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="fileHeader">
- <h1>cumulated_report.rb</h1>
- <table class="header-table">
- <tr class="top-aligned-row">
- <td><strong>Path:</strong></td>
- <td>lib/simplabs/reports_as_sparkline/cumulated_report.rb
- </td>
- </tr>
- <tr class="top-aligned-row">
- <td><strong>Last Update:</strong></td>
- <td>Thu Jan 15 11:13:51 +0100 2009</td>
- </tr>
- </table>
- </div>
- <!-- banner header -->
-
- <div id="bodyContent">
-
-
-
- <div id="contextContent">
-
-
-
- </div>
-
-
- </div>
-
-
- <!-- if includes -->
-
- <div id="section">
-
-
-
-
-
-
-
-
- <!-- if method_list -->
-
-
- </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/files/lib/kvlr/reports_as_sparkline/grouping_rb.html b/rdoc/files/lib/kvlr/reports_as_sparkline/grouping_rb.html
@@ -1,101 +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>File: grouping.rb</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="fileHeader">
- <h1>grouping.rb</h1>
- <table class="header-table">
- <tr class="top-aligned-row">
- <td><strong>Path:</strong></td>
- <td>lib/simplabs/reports_as_sparkline/grouping.rb
- </td>
- </tr>
- <tr class="top-aligned-row">
- <td><strong>Last Update:</strong></td>
- <td>Mon Feb 02 14:24:37 +0100 2009</td>
- </tr>
- </table>
- </div>
- <!-- banner header -->
-
- <div id="bodyContent">
-
-
-
- <div id="contextContent">
-
-
-
- </div>
-
-
- </div>
-
-
- <!-- if includes -->
-
- <div id="section">
-
-
-
-
-
-
-
-
- <!-- if method_list -->
-
-
- </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/files/lib/kvlr/reports_as_sparkline/report_cache_rb.html b/rdoc/files/lib/kvlr/reports_as_sparkline/report_cache_rb.html
@@ -1,101 +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>File: report_cache.rb</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="fileHeader">
- <h1>report_cache.rb</h1>
- <table class="header-table">
- <tr class="top-aligned-row">
- <td><strong>Path:</strong></td>
- <td>lib/simplabs/reports_as_sparkline/report_cache.rb
- </td>
- </tr>
- <tr class="top-aligned-row">
- <td><strong>Last Update:</strong></td>
- <td>Tue Jan 20 18:52:36 +0100 2009</td>
- </tr>
- </table>
- </div>
- <!-- banner header -->
-
- <div id="bodyContent">
-
-
-
- <div id="contextContent">
-
-
-
- </div>
-
-
- </div>
-
-
- <!-- if includes -->
-
- <div id="section">
-
-
-
-
-
-
-
-
- <!-- if method_list -->
-
-
- </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/files/lib/kvlr/reports_as_sparkline/report_rb.html b/rdoc/files/lib/kvlr/reports_as_sparkline/report_rb.html
@@ -1,101 +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>File: report.rb</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="fileHeader">
- <h1>report.rb</h1>
- <table class="header-table">
- <tr class="top-aligned-row">
- <td><strong>Path:</strong></td>
- <td>lib/simplabs/reports_as_sparkline/report.rb
- </td>
- </tr>
- <tr class="top-aligned-row">
- <td><strong>Last Update:</strong></td>
- <td>Mon Feb 23 15:45:50 +0100 2009</td>
- </tr>
- </table>
- </div>
- <!-- banner header -->
-
- <div id="bodyContent">
-
-
-
- <div id="contextContent">
-
-
-
- </div>
-
-
- </div>
-
-
- <!-- if includes -->
-
- <div id="section">
-
-
-
-
-
-
-
-
- <!-- if method_list -->
-
-
- </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/files/lib/kvlr/reports_as_sparkline/reporting_period_rb.html b/rdoc/files/lib/kvlr/reports_as_sparkline/reporting_period_rb.html
@@ -1,101 +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>File: reporting_period.rb</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="fileHeader">
- <h1>reporting_period.rb</h1>
- <table class="header-table">
- <tr class="top-aligned-row">
- <td><strong>Path:</strong></td>
- <td>lib/simplabs/reports_as_sparkline/reporting_period.rb
- </td>
- </tr>
- <tr class="top-aligned-row">
- <td><strong>Last Update:</strong></td>
- <td>Mon Feb 02 14:32:12 +0100 2009</td>
- </tr>
- </table>
- </div>
- <!-- banner header -->
-
- <div id="bodyContent">
-
-
-
- <div id="contextContent">
-
-
-
- </div>
-
-
- </div>
-
-
- <!-- if includes -->
-
- <div id="section">
-
-
-
-
-
-
-
-
- <!-- if method_list -->
-
-
- </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/files/lib/kvlr/reports_as_sparkline/sparkline_tag_helper_rb.html b/rdoc/files/lib/kvlr/reports_as_sparkline/sparkline_tag_helper_rb.html
@@ -1,101 +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>File: sparkline_tag_helper.rb</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="fileHeader">
- <h1>sparkline_tag_helper.rb</h1>
- <table class="header-table">
- <tr class="top-aligned-row">
- <td><strong>Path:</strong></td>
- <td>lib/simplabs/reports_as_sparkline/sparkline_tag_helper.rb
- </td>
- </tr>
- <tr class="top-aligned-row">
- <td><strong>Last Update:</strong></td>
- <td>Thu Jan 15 17:07:23 +0100 2009</td>
- </tr>
- </table>
- </div>
- <!-- banner header -->
-
- <div id="bodyContent">
-
-
-
- <div id="contextContent">
-
-
-
- </div>
-
-
- </div>
-
-
- <!-- if includes -->
-
- <div id="section">
-
-
-
-
-
-
-
-
- <!-- if method_list -->
-
-
- </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/files/lib/kvlr/reports_as_sparkline_rb.html b/rdoc/files/lib/kvlr/reports_as_sparkline_rb.html
@@ -1,101 +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>File: reports_as_sparkline.rb</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="fileHeader">
- <h1>reports_as_sparkline.rb</h1>
- <table class="header-table">
- <tr class="top-aligned-row">
- <td><strong>Path:</strong></td>
- <td>lib/simplabs/reports_as_sparkline.rb
- </td>
- </tr>
- <tr class="top-aligned-row">
- <td><strong>Last Update:</strong></td>
- <td>Mon Feb 23 15:46:05 +0100 2009</td>
- </tr>
- </table>
- </div>
- <!-- banner header -->
-
- <div id="bodyContent">
-
-
-
- <div id="contextContent">
-
-
-
- </div>
-
-
- </div>
-
-
- <!-- if includes -->
-
- <div id="section">
-
-
-
-
-
-
-
-
- <!-- if method_list -->
-
-
- </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/files/lib/simplabs/reports_as_sparkline/cumulated_report_rb.html b/rdoc/files/lib/simplabs/reports_as_sparkline/cumulated_report_rb.html
@@ -0,0 +1,101 @@
+<?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>File: cumulated_report.rb</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="fileHeader">
+ <h1>cumulated_report.rb</h1>
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Path:</strong></td>
+ <td>lib/simplabs/reports_as_sparkline/cumulated_report.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Wed Apr 29 10:44:16 +0200 2009</td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </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/files/lib/simplabs/reports_as_sparkline/grouping_rb.html b/rdoc/files/lib/simplabs/reports_as_sparkline/grouping_rb.html
@@ -0,0 +1,101 @@
+<?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>File: grouping.rb</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="fileHeader">
+ <h1>grouping.rb</h1>
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Path:</strong></td>
+ <td>lib/simplabs/reports_as_sparkline/grouping.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Mon Apr 06 10:35:50 +0200 2009</td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </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/files/lib/simplabs/reports_as_sparkline/report_cache_rb.html b/rdoc/files/lib/simplabs/reports_as_sparkline/report_cache_rb.html
@@ -0,0 +1,101 @@
+<?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>File: report_cache.rb</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="fileHeader">
+ <h1>report_cache.rb</h1>
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Path:</strong></td>
+ <td>lib/simplabs/reports_as_sparkline/report_cache.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Wed Apr 29 16:23:48 +0200 2009</td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </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/files/lib/simplabs/reports_as_sparkline/report_rb.html b/rdoc/files/lib/simplabs/reports_as_sparkline/report_rb.html
@@ -0,0 +1,101 @@
+<?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>File: report.rb</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="fileHeader">
+ <h1>report.rb</h1>
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Path:</strong></td>
+ <td>lib/simplabs/reports_as_sparkline/report.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Wed Apr 29 16:02:27 +0200 2009</td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </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/files/lib/simplabs/reports_as_sparkline/reporting_period_rb.html b/rdoc/files/lib/simplabs/reports_as_sparkline/reporting_period_rb.html
@@ -0,0 +1,101 @@
+<?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>File: reporting_period.rb</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="fileHeader">
+ <h1>reporting_period.rb</h1>
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Path:</strong></td>
+ <td>lib/simplabs/reports_as_sparkline/reporting_period.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Wed Apr 29 16:34:11 +0200 2009</td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </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/files/lib/simplabs/reports_as_sparkline/sparkline_tag_helper_rb.html b/rdoc/files/lib/simplabs/reports_as_sparkline/sparkline_tag_helper_rb.html
@@ -0,0 +1,101 @@
+<?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>File: sparkline_tag_helper.rb</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="fileHeader">
+ <h1>sparkline_tag_helper.rb</h1>
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Path:</strong></td>
+ <td>lib/simplabs/reports_as_sparkline/sparkline_tag_helper.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Mon Apr 06 10:35:50 +0200 2009</td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </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/files/lib/simplabs/reports_as_sparkline_rb.html b/rdoc/files/lib/simplabs/reports_as_sparkline_rb.html
@@ -0,0 +1,101 @@
+<?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>File: reports_as_sparkline.rb</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="fileHeader">
+ <h1>reports_as_sparkline.rb</h1>
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Path:</strong></td>
+ <td>lib/simplabs/reports_as_sparkline.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Mon Apr 06 10:35:22 +0200 2009</td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </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/fr_method_index.html b/rdoc/fr_method_index.html
@@ -20,16 +20,19 @@
<div id="index">
<h1 class="section-bar">Methods</h1>
<div id="index-entries">
- <a href="classes/Simplabs/ReportsAsSparkline/ReportingPeriod.html#M000007">first (Simplabs::ReportsAsSparkline::ReportingPeriod)</a><br />
- <a href="classes/Simplabs/ReportsAsSparkline/Grouping.html#M000005">identifier (Simplabs::ReportsAsSparkline::Grouping)</a><br />
- <a href="classes/Simplabs/ReportsAsSparkline/ReportingPeriod.html#M000006">new (Simplabs::ReportsAsSparkline::ReportingPeriod)</a><br />
- <a href="classes/Simplabs/ReportsAsSparkline/Grouping.html#M000004">new (Simplabs::ReportsAsSparkline::Grouping)</a><br />
- <a href="classes/Simplabs/ReportsAsSparkline/Report.html#M000010">new (Simplabs::ReportsAsSparkline::Report)</a><br />
- <a href="classes/Simplabs/ReportsAsSparkline/ReportingPeriod.html#M000008">next (Simplabs::ReportsAsSparkline::ReportingPeriod)</a><br />
- <a href="classes/Simplabs/ReportsAsSparkline/ReportingPeriod.html#M000009">previous (Simplabs::ReportsAsSparkline::ReportingPeriod)</a><br />
+ <a href="classes/Simplabs/ReportsAsSparkline/CumulatedReport.html#M000004">cumulate (Simplabs::ReportsAsSparkline::CumulatedReport)</a><br />
+ <a href="classes/Simplabs/ReportsAsSparkline/ReportingPeriod.html#M000009">first (Simplabs::ReportsAsSparkline::ReportingPeriod)</a><br />
+ <a href="classes/Simplabs/ReportsAsSparkline/Grouping.html#M000007">identifier (Simplabs::ReportsAsSparkline::Grouping)</a><br />
+ <a href="classes/Simplabs/ReportsAsSparkline/CumulatedReport.html#M000005">initial_cumulative_value (Simplabs::ReportsAsSparkline::CumulatedReport)</a><br />
+ <a href="classes/Simplabs/ReportsAsSparkline/ReportingPeriod.html#M000008">new (Simplabs::ReportsAsSparkline::ReportingPeriod)</a><br />
+ <a href="classes/Simplabs/ReportsAsSparkline/Grouping.html#M000006">new (Simplabs::ReportsAsSparkline::Grouping)</a><br />
+ <a href="classes/Simplabs/ReportsAsSparkline/Report.html#M000013">new (Simplabs::ReportsAsSparkline::Report)</a><br />
+ <a href="classes/Simplabs/ReportsAsSparkline/ReportingPeriod.html#M000010">next (Simplabs::ReportsAsSparkline::ReportingPeriod)</a><br />
+ <a href="classes/Simplabs/ReportsAsSparkline/ReportingPeriod.html#M000012">offset (Simplabs::ReportsAsSparkline::ReportingPeriod)</a><br />
+ <a href="classes/Simplabs/ReportsAsSparkline/ReportingPeriod.html#M000011">previous (Simplabs::ReportsAsSparkline::ReportingPeriod)</a><br />
<a href="classes/Simplabs/ReportsAsSparkline/ClassMethods.html#M000002">reports_as_sparkline (Simplabs::ReportsAsSparkline::ClassMethods)</a><br />
<a href="classes/Simplabs/ReportsAsSparkline/CumulatedReport.html#M000003">run (Simplabs::ReportsAsSparkline::CumulatedReport)</a><br />
- <a href="classes/Simplabs/ReportsAsSparkline/Report.html#M000011">run (Simplabs::ReportsAsSparkline::Report)</a><br />
+ <a href="classes/Simplabs/ReportsAsSparkline/Report.html#M000014">run (Simplabs::ReportsAsSparkline::Report)</a><br />
<a href="classes/Simplabs/ReportsAsSparkline/SparklineTagHelper.html#M000001">sparkline_tag (Simplabs::ReportsAsSparkline::SparklineTagHelper)</a><br />
</div>
</div>