Introduction
Introduction Statistics Contact Development Disclaimer Help
working on documentation - reportable - Fork of reportable required by WarVox, …
Log
Files
Refs
README
---
commit 793ccc345c8f37fa8cbfc3eb8579779d1c248ffa
parent e6ea4a8f5cae154c3ef76132a449d0b8117e9ace
Author: marcoow <[email protected]>
Date: Fri, 12 Dec 2008 02:28:19 +0800
working on documentation
Signed-off-by: Marco Otte-Witte <[email protected]>
Diffstat:
M generators/reports_as_sparkline_mi… | 4 +---
M lib/kvlr/core_extensions/date_time… | 7 ++++---
M lib/kvlr/reports_as_sparkline.rb | 46 +++++++++++++++++------------…
M lib/kvlr/reports_as_sparkline/asse… | 16 ++++++++++++++--
M lib/kvlr/reports_as_sparkline/cumu… | 14 +++++++++++++-
M lib/kvlr/reports_as_sparkline/grou… | 15 ++++++++++-----
M lib/kvlr/reports_as_sparkline/repo… | 6 +++---
M lib/kvlr/reports_as_sparkline/repo… | 2 +-
M lib/kvlr/reports_as_sparkline/repo… | 4 ++--
A rdoc/classes/Kvlr/CoreExtensions/D… | 145 +++++++++++++++++++++++++++…
A rdoc/classes/Kvlr/ReportsAsSparkli… | 164 +++++++++++++++++++++++++++…
A rdoc/classes/Kvlr/ReportsAsSparkli… | 201 +++++++++++++++++++++++++++…
A rdoc/classes/Kvlr/ReportsAsSparkli… | 167 +++++++++++++++++++++++++++…
A rdoc/classes/Kvlr/ReportsAsSparkli… | 247 +++++++++++++++++++++++++++…
A rdoc/classes/Kvlr/ReportsAsSparkli… | 227 +++++++++++++++++++++++++++…
A rdoc/classes/Kvlr/ReportsAsSparkli… | 167 +++++++++++++++++++++++++++…
A rdoc/classes/Kvlr/ReportsAsSparkli… | 297 +++++++++++++++++++++++++++…
A rdoc/created.rid | 1 +
A rdoc/files/README_rdoc.html | 168 +++++++++++++++++++++++++++++…
A rdoc/files/lib/kvlr/core_extension… | 102 +++++++++++++++++++++++++++…
A rdoc/files/lib/kvlr/reports_as_spa… | 102 +++++++++++++++++++++++++++…
A rdoc/files/lib/kvlr/reports_as_spa… | 102 +++++++++++++++++++++++++++…
A rdoc/files/lib/kvlr/reports_as_spa… | 102 +++++++++++++++++++++++++++…
A rdoc/files/lib/kvlr/reports_as_spa… | 102 +++++++++++++++++++++++++++…
A rdoc/files/lib/kvlr/reports_as_spa… | 102 +++++++++++++++++++++++++++…
A rdoc/files/lib/kvlr/reports_as_spa… | 102 +++++++++++++++++++++++++++…
A rdoc/files/lib/kvlr/reports_as_spa… | 102 +++++++++++++++++++++++++++…
A rdoc/fr_class_index.html | 35 +++++++++++++++++++++++++++++…
A rdoc/fr_file_index.html | 36 +++++++++++++++++++++++++++++…
A rdoc/fr_method_index.html | 43 ++++++++++++++++++++++++++++++
A rdoc/index.html | 25 +++++++++++++++++++++++++
A rdoc/rdoc-style.css | 209 +++++++++++++++++++++++++++++…
32 files changed, 3022 insertions(+), 40 deletions(-)
---
diff --git a/generators/reports_as_sparkline_migration/reports_as_sparkline_mig…
@@ -1,7 +1,5 @@
-# Generates the migration that adds the caching table
-class ReportsAsSparklineMigrationGenerator < Rails::Generator::NamedBase
+class ReportsAsSparklineMigrationGenerator < Rails::Generator::NamedBase #:nod…
- # Creates the generator's manifest
def manifest
record do |m|
m.migration_template 'migration.erb', 'db/migrate'
diff --git a/lib/kvlr/core_extensions/date_time.rb b/lib/kvlr/core_extensions/d…
@@ -1,13 +1,14 @@
-module Simplabs
+module Kvlr #:nodoc:
- module CoreExtensions
+ module CoreExtensions #:nodoc:
module DateTime
::DateTime.class_eval do
+ # Converts the DateTime into a Kvlr::ReportsAsSparkline::ReportingPeri…
def to_reporting_period(grouping)
- Kvlr::ReportsAsSparkline::ReportsAsSparkline.new(grouping, self)
+ Kvlr::ReportsAsSparkline::ReportingPeriod.new(grouping, self)
end
end
diff --git a/lib/kvlr/reports_as_sparkline.rb b/lib/kvlr/reports_as_sparkline.rb
@@ -1,34 +1,40 @@
module Kvlr #:nodoc:
- module ReportsAsSparkline #:nodoc:
+ module ReportsAsSparkline
def self.included(base) #:nodoc:
base.extend ClassMethods
end
- class InvalidGroupExpception < Exception
- end
-
- class InvalidOperationExpception < Exception
- end
-
module ClassMethods
+ # Generates a report on a model. The report can then be executed via <na…
+ #
+ # ==== Parameters
+ #
+ # * <tt>name</tt> - The name of the report, defines the name of the gene…
+ #
+ # ==== Options
+ #
+ # * <tt>:date_column_name</tt> - The name of the date column on that the…
+ # * <tt>:value_column_name</tt> - The name of the column that holds the …
+ # * <tt>:aggregation</tt> - The aggregation to use (either :count or :su…
+ # * <tt>:grouping</tt> - The period records are grouped on (:hour, :day,…
+ # * <tt>:limit</tt> - The number of periods to get (see :grouping)
+ # * <tt>:conditions</tt> - Conditions like in ActiveRecord::Base#find; o…
#
- # Examples:
+ # ==== Examples
#
- # class Game < ActiveRecord::Base
- # report_as_sparkline :games_per_day
- # report_as_sparkline :games_played_total, :cumulate => true
- # end
- # class User < ActiveRecord::Base
- # report_as_sparkline :registrations, :operation => :count
- # report_as_sparkline :activations, :date_column => :activated_at, :op…
- # report_as_sparkline :total_users_report, :cumulate => true
- # end
- # class Rake < ActiveRecord::Base
- # report_as_sparkline :rake, :operation => :sum
- # end
+ # class Game < ActiveRecord::Base
+ # report_as_sparkline :games_per_day
+ # report_as_sparkline :games_played_total, :cumulate => true
+ # end
+ # class User < ActiveRecord::Base
+ # report_as_sparkline :registrations, :operation => :count
+ # report_as_sparkline :activations, :date_column_name => :activated_a…
+ # report_as_sparkline :total_users_report, :cumulate => true
+ # report_as_sparkline :rake, :aggregation => :sum, :value_column_name…
+ # end
def report_as_sparkline(name, options = {})
(class << self; self; end).instance_eval do
define_method "#{name.to_s}_report".to_sym do |*args|
diff --git a/lib/kvlr/reports_as_sparkline/asset_tag_helper.rb b/lib/kvlr/repor…
@@ -2,12 +2,24 @@ module Kvlr #:nodoc:
module ReportsAsSparkline #:nodoc:
- # View helper that provides sparkline methods
module AssetTagHelper
# Renders a sparkline with the given data.
+ #
+ # ==== Parameters
+ #
+ # *<tt>data</tt> - The data to render the sparkline for
+ #
+ # ==== Options
+ #
+ # *<tt>width</tt> - The width of the generated image
+ # *<tt>height</tt> - The height of the generated image
+ # *<tt>color</tt> - The base color of the generated image (hex code)
+ #
+ # ==== Example
+ # <%= sparkline_tag(User.registrations_report, :width => 200, :height =>…
def sparkline_tag(data, options = {})
- options.reverse_merge!({:width => 300, :height => 34, :color => '0077C…
+ options.reverse_merge!({:width => 300, :height => 34, :color => '0077c…
data.collect! { |element| element[1].to_s }
image_tag(
"http://chart.apis.google.com/chart?cht=ls&chs=#{options[:width]}x#{…
diff --git a/lib/kvlr/reports_as_sparkline/cumulated_report.rb b/lib/kvlr/repor…
@@ -2,15 +2,27 @@ module Kvlr #:nodoc:
module ReportsAsSparkline #:nodoc:
+ # A special report class that cumulates all data (see Kvlr::ReportsAsSpark…
+ #
+ # ==== Examples
+ #
+ # When Kvlr::ReportsAsSparkline::Report returns
+ #
+ # [[<DateTime today>, 1], [<DateTime yesterday>, 2], etc.]
+ #
+ # Kvlr::ReportsAsSparkline::CumulatedReport returns
+ #
+ # [[<DateTime today>, 3], [<DateTime yesterday>, 2], etc.]
class CumulatedReport < Report
+ # Runs the report (see Kvlr::ReportsAsSparkline::Report#run)
def run(options = {})
cumulate(super)
end
protected
- def cumulate(data)
+ def cumulate(data) #:nodoc:
acc = 0.0
result = []
data.reverse_each do |element|
diff --git a/lib/kvlr/reports_as_sparkline/grouping.rb b/lib/kvlr/reports_as_sp…
@@ -2,18 +2,23 @@ module Kvlr #:nodoc:
module ReportsAsSparkline #:nodoc:
+ # This is the grouping a report uses to group records in the database
+ #
+ # ==== Parameters
+ # * <tt>identifier</tt> - The identifier of the grouping - one of :hour, …
class Grouping
- def initialize(grouping)
- raise ArgumentError.new("Invalid grouping #{grouping}") unless [:hour,…
- @identifier = grouping
+ def initialize(identifier)
+ raise ArgumentError.new("Invalid grouping #{grouping}") unless [:hour,…
+ @identifier = identifier
end
+ # Returns the Grouping's identifier
def identifier
@identifier
end
- def date_parts_from_db_string(db_string)
+ def date_parts_from_db_string(db_string) #:nodoc:
if ActiveRecord::Base.connection.class.to_s == 'ActiveRecord::Connecti…
case @identifier
when :hour
@@ -35,7 +40,7 @@ module Kvlr #:nodoc:
end
end
- def to_sql(date_column_name)
+ def to_sql(date_column_name) #:nodoc:
return case ActiveRecord::Base.connection.class.to_s
when 'ActiveRecord::ConnectionAdapters::MysqlAdapter'
mysql_format(date_column_name)
diff --git a/lib/kvlr/reports_as_sparkline/report.rb b/lib/kvlr/reports_as_spar…
@@ -32,7 +32,7 @@ module Kvlr #:nodoc:
private
- def read_data(begin_at, conditions = [])
+ def read_data(begin_at, conditions = []) #:nodoc:
conditions = setup_conditions(begin_at, conditions)
@klass.send(@aggregation,
@value_column_name,
@@ -42,7 +42,7 @@ module Kvlr #:nodoc:
)
end
- def setup_conditions(begin_at, custom_conditions = [])
+ def setup_conditions(begin_at, custom_conditions = []) #:nodoc:
conditions = ['']
if custom_conditions.is_a?(Hash)
conditions = [custom_conditions.map{ |k, v| "#{k.to_s} = ?" }.join…
@@ -53,7 +53,7 @@ module Kvlr #:nodoc:
conditions << begin_at
end
- def ensure_valid_options(options, context = :initialize)
+ def ensure_valid_options(options, context = :initialize) #:nodoc:
case context
when :initialize
options.each_key do |k|
diff --git a/lib/kvlr/reports_as_sparkline/report_cache.rb b/lib/kvlr/reports_a…
@@ -2,7 +2,7 @@ module Kvlr #:nodoc:
module ReportsAsSparkline #:nodoc:
- class ReportCache < ActiveRecord::Base
+ class ReportCache < ActiveRecord::Base #:nodoc:
serialize :reporting_period, Kvlr::ReportsAsSparkline::ReportingPeriod
diff --git a/lib/kvlr/reports_as_sparkline/reporting_period.rb b/lib/kvlr/repor…
@@ -25,7 +25,7 @@ module Kvlr #:nodoc:
end
end
- def self.from_db_string(grouping, db_string)
+ def self.from_db_string(grouping, db_string) #:nodoc:
parts = grouping.date_parts_from_db_string(db_string)
result = case grouping.identifier
when :hour
@@ -53,7 +53,7 @@ module Kvlr #:nodoc:
end
end
- def ==(other)
+ def ==(other) #:nodoc:
if other.class == Kvlr::ReportsAsSparkline::ReportingPeriod
return @date_time.to_s == other.date_time.to_s && @grouping.identifi…
end
diff --git a/rdoc/classes/Kvlr/CoreExtensions/DateTime.html b/rdoc/classes/Kvlr…
@@ -0,0 +1,144 @@
+<?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: Kvlr::CoreExtensions::DateTime</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" medi…
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=n…
+ }
+
+ 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…
+
+ // ]]>
+ </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">Kvlr::CoreExtensions::DateTime</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../files/lib/kvlr/core_extensions/date_time_rb.…
+ lib/kvlr/core_extensions/date_time.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="#M000016">to_reporting_period</a>&nbsp;&nbsp;
+ </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-M000016" class="method-detail">
+ <a name="M000016"></a>
+
+ <div class="method-heading">
+ <a href="#M000016" class="method-signature">
+ <span class="method-name">to_reporting_period</span><span class="met…
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Converts the <a href="DateTime.html">DateTime</a> into a <a
+href="../ReportsAsSparkline/ReportingPeriod.html">Kvlr::ReportsAsSparkline::Re…
+</p>
+ <p><a class="source-toggle" href="#"
+ onclick="toggleCode('M000016-source');return false;">[Source]</a><…
+ <div class="method-source-code" id="M000016-source">
+<pre>
+ <span class="ruby-comment cmt"># File lib/kvlr/core_extensions/date_time.r…
+10: <span class="ruby-keyword kw">def</span> <span class="ruby-identif…
+11: <span class="ruby-constant">Kvlr</span><span class="ruby-operato…
+12: <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></sm…
+</div>
+
+</body>
+</html>
+\ No newline at end of file
diff --git a/rdoc/classes/Kvlr/ReportsAsSparkline/AssetTagHelper.html b/rdoc/cl…
@@ -0,0 +1,163 @@
+<?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: Kvlr::ReportsAsSparkline::AssetTagHelper</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" medi…
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=n…
+ }
+
+ 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…
+
+ // ]]>
+ </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">Kvlr::ReportsAsSparkline::AssetTagH…
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../files/lib/kvlr/reports_as_sparkline/asset_ta…
+ lib/kvlr/reports_as_sparkline/asset_tag_helper.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">sparkline_tag</a>&nbsp;&nbsp;
+ </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">sparkline_tag</span><span class="method-ar…
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Renders a sparkline with the given data.
+</p>
+<h4>Parameters</h4>
+<p>
+*<tt>data</tt> - The data to render the sparkline for
+</p>
+<h4>Options</h4>
+<p>
+*<tt>width</tt> - The width of the generated image *<tt>height</tt> - The
+height of the generated image *<tt>color</tt> - The base color of the
+generated image (hex code)
+</p>
+<h4>Example</h4>
+<p>
+&lt;%= <a
+href="AssetTagHelper.html#M000002">sparkline_tag</a>(User.registrations_report,
+:width =&gt; 200, :height =&gt; 100, :color =&gt; &#8216;000&#8217;) %&gt;
+</p>
+ <p><a class="source-toggle" href="#"
+ onclick="toggleCode('M000002-source');return false;">[Source]</a><…
+ <div class="method-source-code" id="M000002-source">
+<pre>
+ <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/asset_…
+21: <span class="ruby-keyword kw">def</span> <span class="ruby-identifie…
+22: <span class="ruby-identifier">options</span>.<span class="ruby-ide…
+23: <span class="ruby-identifier">data</span>.<span class="ruby-identi…
+24: <span class="ruby-identifier">image_tag</span>(
+25: <span class="ruby-node">&quot;http://chart.apis.google.com/chart…
+26: )
+27: <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></sm…
+</div>
+
+</body>
+</html>
+\ No newline at end of file
diff --git a/rdoc/classes/Kvlr/ReportsAsSparkline/ClassMethods.html b/rdoc/clas…
@@ -0,0 +1,200 @@
+<?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: Kvlr::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" medi…
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=n…
+ }
+
+ 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…
+
+ // ]]>
+ </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">Kvlr::ReportsAsSparkline::ClassMeth…
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../files/lib/kvlr/reports_as_sparkline_rb.html">
+ lib/kvlr/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="#M000001">report_as_sparkline</a>&nbsp;&nbsp;
+ </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-M000001" class="method-detail">
+ <a name="M000001"></a>
+
+ <div class="method-heading">
+ <a href="#M000001" class="method-signature">
+ <span class="method-name">report_as_sparkline</span><span class="met…
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Generates a report on a model. The report can then be executed via
+&lt;name&gt;_report
+</p>
+<h4>Parameters</h4>
+<ul>
+<li><tt>name</tt> - The name of the report, defines the name of the generated
+report method (&lt;name&gt;_report)
+
+</li>
+</ul>
+<h4>Options</h4>
+<ul>
+<li><tt>:date_column_name</tt> - The name of the date column on that the
+records are aggregated
+
+</li>
+<li><tt>:value_column_name</tt> - The name of the column that holds the value
+to sum for aggregation :sum
+
+</li>
+<li><tt>:aggregation</tt> - The aggregation to use (either :count or :sum);
+when using :sum, :value_column_name must also be specified
+
+</li>
+<li><tt>:grouping</tt> - The period records are grouped on (:hour, :day, :week,
+:month)
+
+</li>
+<li><tt>:limit</tt> - The number of periods to get (see :grouping)
+
+</li>
+<li><tt>:conditions</tt> - Conditions like in ActiveRecord::Base#find; only
+records that match there conditions are reported on
+
+</li>
+</ul>
+<h4>Examples</h4>
+<pre>
+ class Game &lt; ActiveRecord::Base
+ report_as_sparkline :games_per_day
+ report_as_sparkline :games_played_total, :cumulate =&gt; true
+ end
+ class User &lt; ActiveRecord::Base
+ report_as_sparkline :registrations, :operation =&gt; :count
+ report_as_sparkline :activations, :date_column_name =&gt; :activated_at, :o…
+ report_as_sparkline :total_users_report, :cumulate =&gt; true
+ report_as_sparkline :rake, :aggregation =&gt; :sum, :value_column_name =&gt…
+ end
+</pre>
+ <p><a class="source-toggle" href="#"
+ onclick="toggleCode('M000001-source');return false;">[Source]</a><…
+ <div class="method-source-code" id="M000001-source">
+<pre>
+ <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline.rb, li…
+38: <span class="ruby-keyword kw">def</span> <span class="ruby-identifie…
+39: (<span class="ruby-keyword kw">class</span> <span class="ruby-oper…
+40: <span class="ruby-identifier">define_method</span> <span class="…
+41: <span class="ruby-keyword kw">if</span> <span class="ruby-iden…
+42: <span class="ruby-identifier">report</span> = <span class="r…
+43: <span class="ruby-keyword kw">else</span>
+44: <span class="ruby-identifier">report</span> = <span class="r…
+45: <span class="ruby-keyword kw">end</span>
+46: <span class="ruby-identifier">raise</span> <span class="ruby-c…
+47: <span class="ruby-identifier">report</span>.<span class="ruby-…
+48: <span class="ruby-keyword kw">end</span>
+49: <span class="ruby-keyword kw">end</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></sm…
+</div>
+
+</body>
+</html>
+\ No newline at end of file
diff --git a/rdoc/classes/Kvlr/ReportsAsSparkline/CumulatedReport.html b/rdoc/c…
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: Kvlr::ReportsAsSparkline::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" medi…
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=n…
+ }
+
+ 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…
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">Kvlr::ReportsAsSparkline::Cumulated…
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../files/lib/kvlr/reports_as_sparkline/cumulate…
+ lib/kvlr/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">Kvlr::ReportsAsSparkline::Report</a>)
+</p>
+<h4>Examples</h4>
+<pre>
+ When Kvlr::ReportsAsSparkline::Report returns
+ [[&lt;DateTime today&gt;, 1], [&lt;DateTime yesterday&gt;, 2]]
+ Kvlr::ReportsAsSparkline::CumulatedReport returns
+ [[&lt;DateTime today&gt;, 3], [&lt;DateTime yesterday&gt;, 2]]
+</pre>
+
+ </div>
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000003">run</a>&nbsp;&nbsp;
+ </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">(optio…
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Runs the report (see <a
+href="Report.html#M000015">Kvlr::ReportsAsSparkline::Report#run</a>)
+</p>
+ <p><a class="source-toggle" href="#"
+ onclick="toggleCode('M000003-source');return false;">[Source]</a><…
+ <div class="method-source-code" id="M000003-source">
+<pre>
+ <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/cumula…
+16: <span class="ruby-keyword kw">def</span> <span class="ruby-identifie…
+17: <span class="ruby-identifier">cumulate</span>(<span class="ruby-ke…
+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></sm…
+</div>
+
+</body>
+</html>
+\ No newline at end of file
diff --git a/rdoc/classes/Kvlr/ReportsAsSparkline/Grouping.html b/rdoc/classes/…
@@ -0,0 +1,246 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: Kvlr::ReportsAsSparkline::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" medi…
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=n…
+ }
+
+ 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…
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">Kvlr::ReportsAsSparkline::Grouping<…
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../files/lib/kvlr/reports_as_sparkline/grouping…
+ lib/kvlr/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>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000007">date_parts_from_db_string</a>&nbsp;&nbsp;
+ <a href="#M000006">identifier</a>&nbsp;&nbsp;
+ <a href="#M000005">new</a>&nbsp;&nbsp;
+ <a href="#M000008">to_sql</a>&nbsp;&nbsp;
+ </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-M000005" class="method-detail">
+ <a name="M000005"></a>
+
+ <div class="method-heading">
+ <a href="#M000005" class="method-signature">
+ <span class="method-name">new</span><span class="method-args">(group…
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p><a class="source-toggle" href="#"
+ onclick="toggleCode('M000005-source');return false;">[Source]</a><…
+ <div class="method-source-code" id="M000005-source">
+<pre>
+ <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/groupi…
+ 7: <span class="ruby-keyword kw">def</span> <span class="ruby-identifie…
+ 8: <span class="ruby-identifier">raise</span> <span class="ruby-const…
+ 9: <span class="ruby-ivar">@identifier</span> = <span class="ruby-ide…
+10: <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">date_parts_from_db_string</span><span clas…
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p><a class="source-toggle" href="#"
+ onclick="toggleCode('M000007-source');return false;">[Source]</a><…
+ <div class="method-source-code" id="M000007-source">
+<pre>
+ <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/groupi…
+16: <span class="ruby-keyword kw">def</span> <span class="ruby-identifie…
+17: <span class="ruby-keyword kw">if</span> <span class="ruby-constant…
+18: <span class="ruby-keyword kw">case</span> <span class="ruby-ivar…
+19: <span class="ruby-keyword kw">when</span> <span class="ruby-id…
+20: <span class="ruby-keyword kw">return</span> (<span class="ru…
+21: <span class="ruby-keyword kw">when</span> <span class="ruby-id…
+22: <span class="ruby-keyword kw">return</span> <span class="rub…
+23: <span class="ruby-keyword kw">when</span> <span class="ruby-id…
+24: <span class="ruby-identifier">parts</span> = <span class="ru…
+25: <span class="ruby-identifier">date</span> = <span class="rub…
+26: <span class="ruby-keyword kw">return</span> [<span class="ru…
+27: <span class="ruby-keyword kw">when</span> <span class="ruby-id…
+28: <span class="ruby-keyword kw">return</span> <span class="rub…
+29: <span class="ruby-keyword kw">end</span>
+30: <span class="ruby-keyword kw">else</span>
+31: <span class="ruby-identifier">parts</span> = <span class="ruby-i…
+32: <span class="ruby-keyword kw">return</span> <span class="ruby-id…
+33: <span class="ruby-identifier">parts</span>[<span class="ruby-val…
+34: <span class="ruby-identifier">parts</span>
+35: <span class="ruby-keyword kw">end</span>
+36: <span class="ruby-keyword kw">end</span>
+</pre>
+ </div>
+ </div>
+ </div>
+
+ <div id="method-M000006" class="method-detail">
+ <a name="M000006"></a>
+
+ <div class="method-heading">
+ <a href="#M000006" class="method-signature">
+ <span class="method-name">identifier</span><span class="method-args"…
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p><a class="source-toggle" href="#"
+ onclick="toggleCode('M000006-source');return false;">[Source]</a><…
+ <div class="method-source-code" id="M000006-source">
+<pre>
+ <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/groupi…
+12: <span class="ruby-keyword kw">def</span> <span class="ruby-identifie…
+13: <span class="ruby-ivar">@identifier</span>
+14: <span class="ruby-keyword kw">end</span>
+</pre>
+ </div>
+ </div>
+ </div>
+
+ <div id="method-M000008" class="method-detail">
+ <a name="M000008"></a>
+
+ <div class="method-heading">
+ <a href="#M000008" class="method-signature">
+ <span class="method-name">to_sql</span><span class="method-args">(da…
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p><a class="source-toggle" href="#"
+ onclick="toggleCode('M000008-source');return false;">[Source]</a><…
+ <div class="method-source-code" id="M000008-source">
+<pre>
+ <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/groupi…
+38: <span class="ruby-keyword kw">def</span> <span class="ruby-identifie…
+39: <span class="ruby-keyword kw">return</span> <span class="ruby-keyw…
+40: <span class="ruby-keyword kw">when</span> <span class="ruby-valu…
+41: <span class="ruby-identifier">mysql_format</span>(<span class=…
+42: <span class="ruby-keyword kw">when</span> <span class="ruby-valu…
+43: <span class="ruby-identifier">sqlite_format</span>(<span class…
+44: <span class="ruby-keyword kw">when</span> <span class="ruby-valu…
+45: <span class="ruby-identifier">postgresql_format</span>(<span c…
+46: <span class="ruby-keyword kw">end</span>
+47: <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></sm…
+</div>
+
+</body>
+</html>
+\ No newline at end of file
diff --git a/rdoc/classes/Kvlr/ReportsAsSparkline/Report.html b/rdoc/classes/Kv…
@@ -0,0 +1,226 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: Kvlr::ReportsAsSparkline::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" medi…
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=n…
+ }
+
+ 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…
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">Kvlr::ReportsAsSparkline::Report</t…
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../files/lib/kvlr/reports_as_sparkline/report_r…
+ lib/kvlr/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>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000014">new</a>&nbsp;&nbsp;
+ <a href="#M000015">run</a>&nbsp;&nbsp;
+ </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">&nbsp;[R]&nbsp;</td>
+ <td class="context-item-desc"></td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">date_column_name</td>
+ <td class="context-item-value">&nbsp;[R]&nbsp;</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">&nbsp;[R]&nbsp;</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">&nbsp;[R]&nbsp;</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">&nbsp;[R]&nbsp;</td>
+ <td class="context-item-desc"></td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">value_column_name</td>
+ <td class="context-item-value">&nbsp;[R]&nbsp;</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-M000014" class="method-detail">
+ <a name="M000014"></a>
+
+ <div class="method-heading">
+ <a href="#M000014" class="method-signature">
+ <span class="method-name">new</span><span class="method-args">(klass…
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p><a class="source-toggle" href="#"
+ onclick="toggleCode('M000014-source');return false;">[Source]</a><…
+ <div class="method-source-code" id="M000014-source">
+<pre>
+ <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/report…
+ 9: <span class="ruby-keyword kw">def</span> <span class="ruby-identifie…
+10: <span class="ruby-identifier">ensure_valid_options</span>(<span cl…
+11: <span class="ruby-ivar">@klass</span> = <span class="r…
+12: <span class="ruby-ivar">@name</span> = <span class="r…
+13: <span class="ruby-ivar">@date_column_name</span> = (<span class="…
+14: <span class="ruby-ivar">@value_column_name</span> = (<span class="…
+15: <span class="ruby-ivar">@aggregation</span> = <span class="r…
+16: <span class="ruby-ivar">@grouping</span> = <span class="r…
+17: <span class="ruby-ivar">@options</span> = {
+18: <span class="ruby-identifier">:limit</span> =<span c…
+19: <span class="ruby-identifier">:conditions</span> =<span c…
+20: }
+21: <span class="ruby-ivar">@options</span>.<span class="ruby-identifi…
+22: <span class="ruby-keyword kw">end</span>
+</pre>
+ </div>
+ </div>
+ </div>
+
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000015" class="method-detail">
+ <a name="M000015"></a>
+
+ <div class="method-heading">
+ <a href="#M000015" class="method-signature">
+ <span class="method-name">run</span><span class="method-args">(optio…
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p><a class="source-toggle" href="#"
+ onclick="toggleCode('M000015-source');return false;">[Source]</a><…
+ <div class="method-source-code" id="M000015-source">
+<pre>
+ <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/report…
+24: <span class="ruby-keyword kw">def</span> <span class="ruby-identifie…
+25: <span class="ruby-identifier">ensure_valid_options</span>(<span cl…
+26: <span class="ruby-identifier">custom_conditions</span> = <span cla…
+27: <span class="ruby-identifier">options</span>.<span class="ruby-ide…
+28: <span class="ruby-constant">ReportCache</span>.<span class="ruby-i…
+29: <span class="ruby-identifier">read_data</span>(<span class="ruby…
+30: <span class="ruby-keyword kw">end</span>
+31: <span class="ruby-keyword kw">end</span>
+</pre>
+ </div>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></sm…
+</div>
+
+</body>
+</html>
+\ No newline at end of file
diff --git a/rdoc/classes/Kvlr/ReportsAsSparkline/ReportCache.html b/rdoc/class…
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: Kvlr::ReportsAsSparkline::ReportCache</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" medi…
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=n…
+ }
+
+ 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…
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">Kvlr::ReportsAsSparkline::ReportCac…
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../files/lib/kvlr/reports_as_sparkline/report_c…
+ lib/kvlr/reports_as_sparkline/report_cache.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ ActiveRecord::Base
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000004">process</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class methods</h3>
+
+ <div id="method-M000004" class="method-detail">
+ <a name="M000004"></a>
+
+ <div class="method-heading">
+ <a href="#M000004" class="method-signature">
+ <span class="method-name">process</span><span class="method-args">(r…
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p><a class="source-toggle" href="#"
+ onclick="toggleCode('M000004-source');return false;">[Source]</a><…
+ <div class="method-source-code" id="M000004-source">
+<pre>
+ <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/report…
+ 9: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword k…
+10: <span class="ruby-identifier">raise</span> <span class="ruby-const…
+11: <span class="ruby-keyword kw">self</span>.<span class="ruby-identi…
+12: <span class="ruby-identifier">cached_data</span> = []
+13: <span class="ruby-identifier">last_reporting_period_to_read</spa…
+14: <span class="ruby-keyword kw">unless</span> <span class="ruby-id…
+15: <span class="ruby-identifier">cached_data</span> = <span class…
+16: <span class="ruby-identifier">:all</span>,
+17: <span class="ruby-identifier">:conditions</span> =<span clas…
+18: <span class="ruby-identifier">:model_name</span> =<span c…
+19: <span class="ruby-identifier">:report_name</span> =<span c…
+20: <span class="ruby-identifier">:grouping</span> =<span c…
+21: <span class="ruby-identifier">:aggregation</span> =<span c…
+22: },
+23: <span class="ruby-identifier">:limit</span> =<span class="ru…
+24: <span class="ruby-identifier">:order</span> =<span class="ru…
+25: )
+26: <span class="ruby-identifier">last_reporting_period_to_read</s…
+27: <span class="ruby-keyword kw">end</span>
+28: <span class="ruby-identifier">new_data</span> = <span class="rub…
+29: <span class="ruby-identifier">prepare_result</span>(<span class=…
+30: <span class="ruby-keyword kw">end</span>
+31: <span class="ruby-keyword kw">end</span>
+</pre>
+ </div>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></sm…
+</div>
+
+</body>
+</html>
+\ No newline at end of file
diff --git a/rdoc/classes/Kvlr/ReportsAsSparkline/ReportingPeriod.html b/rdoc/c…
@@ -0,0 +1,296 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: Kvlr::ReportsAsSparkline::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" medi…
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=n…
+ }
+
+ 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…
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">Kvlr::ReportsAsSparkline::Reporting…
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../files/lib/kvlr/reports_as_sparkline/reportin…
+ lib/kvlr/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>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000013">==</a>&nbsp;&nbsp;
+ <a href="#M000010">first</a>&nbsp;&nbsp;
+ <a href="#M000011">from_db_string</a>&nbsp;&nbsp;
+ <a href="#M000009">new</a>&nbsp;&nbsp;
+ <a href="#M000012">previous</a>&nbsp;&nbsp;
+ </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">&nbsp;[R]&nbsp;</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">&nbsp;[R]&nbsp;</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">first</span><span class="method-args">(gro…
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p><a class="source-toggle" href="#"
+ onclick="toggleCode('M000010-source');return false;">[Source]</a><…
+ <div class="method-source-code" id="M000010-source">
+<pre>
+ <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/report…
+14: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword k…
+15: <span class="ruby-keyword kw">return</span> <span class="ruby-keyw…
+16: <span class="ruby-keyword kw">when</span> <span class="ruby-iden…
+17: <span class="ruby-keyword kw">self</span>.<span class="ruby-id…
+18: <span class="ruby-keyword kw">when</span> <span class="ruby-iden…
+19: <span class="ruby-keyword kw">self</span>.<span class="ruby-id…
+20: <span class="ruby-keyword kw">when</span> <span class="ruby-iden…
+21: <span class="ruby-keyword kw">self</span>.<span class="ruby-id…
+22: <span class="ruby-keyword kw">when</span> <span class="ruby-iden…
+23: <span class="ruby-identifier">date</span> = <span class="ruby-…
+24: <span class="ruby-keyword kw">self</span>.<span class="ruby-id…
+25: <span class="ruby-keyword kw">end</span>
+26: <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">from_db_string</span><span class="method-a…
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p><a class="source-toggle" href="#"
+ onclick="toggleCode('M000011-source');return false;">[Source]</a><…
+ <div class="method-source-code" id="M000011-source">
+<pre>
+ <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/report…
+28: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword k…
+29: <span class="ruby-identifier">parts</span> = <span class="ruby-ide…
+30: <span class="ruby-identifier">result</span> = <span class="ruby-ke…
+31: <span class="ruby-keyword kw">when</span> <span class="ruby-iden…
+32: <span class="ruby-keyword kw">self</span>.<span class="ruby-id…
+33: <span class="ruby-keyword kw">when</span> <span class="ruby-iden…
+34: <span class="ruby-keyword kw">self</span>.<span class="ruby-id…
+35: <span class="ruby-keyword kw">when</span> <span class="ruby-iden…
+36: <span class="ruby-keyword kw">self</span>.<span class="ruby-id…
+37: <span class="ruby-keyword kw">when</span> <span class="ruby-iden…
+38: <span class="ruby-keyword kw">self</span>.<span class="ruby-id…
+39: <span class="ruby-keyword kw">end</span>
+40: <span class="ruby-identifier">result</span>
+41: <span class="ruby-keyword kw">end</span>
+</pre>
+ </div>
+ </div>
+ </div>
+
+ <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">new</span><span class="method-args">(group…
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p><a class="source-toggle" href="#"
+ onclick="toggleCode('M000009-source');return false;">[Source]</a><…
+ <div class="method-source-code" id="M000009-source">
+<pre>
+ <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/report…
+ 9: <span class="ruby-keyword kw">def</span> <span class="ruby-identifie…
+10: <span class="ruby-ivar">@grouping</span> = <span class="ruby-iden…
+11: <span class="ruby-ivar">@date_time</span> = <span class="ruby-iden…
+12: <span class="ruby-keyword kw">end</span>
+</pre>
+ </div>
+ </div>
+ </div>
+
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000013" class="method-detail">
+ <a name="M000013"></a>
+
+ <div class="method-heading">
+ <a href="#M000013" class="method-signature">
+ <span class="method-name">==</span><span class="method-args">(other)…
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p><a class="source-toggle" href="#"
+ onclick="toggleCode('M000013-source');return false;">[Source]</a><…
+ <div class="method-source-code" id="M000013-source">
+<pre>
+ <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/report…
+56: <span class="ruby-keyword kw">def</span> <span class="ruby-operator"…
+57: <span class="ruby-keyword kw">if</span> <span class="ruby-identifi…
+58: <span class="ruby-keyword kw">return</span> <span class="ruby-iv…
+59: <span class="ruby-keyword kw">end</span>
+60: <span class="ruby-keyword kw">false</span>
+61: <span class="ruby-keyword kw">end</span>
+</pre>
+ </div>
+ </div>
+ </div>
+
+ <div id="method-M000012" class="method-detail">
+ <a name="M000012"></a>
+
+ <div class="method-heading">
+ <a href="#M000012" class="method-signature">
+ <span class="method-name">previous</span><span class="method-args">(…
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p><a class="source-toggle" href="#"
+ onclick="toggleCode('M000012-source');return false;">[Source]</a><…
+ <div class="method-source-code" id="M000012-source">
+<pre>
+ <span class="ruby-comment cmt"># File lib/kvlr/reports_as_sparkline/report…
+43: <span class="ruby-keyword kw">def</span> <span class="ruby-identifie…
+44: <span class="ruby-keyword kw">return</span> <span class="ruby-keyw…
+45: <span class="ruby-keyword kw">when</span> <span class="ruby-iden…
+46: <span class="ruby-keyword kw">self</span>.<span class="ruby-id…
+47: <span class="ruby-keyword kw">when</span> <span class="ruby-iden…
+48: <span class="ruby-keyword kw">self</span>.<span class="ruby-id…
+49: <span class="ruby-keyword kw">when</span> <span class="ruby-iden…
+50: <span class="ruby-keyword kw">self</span>.<span class="ruby-id…
+51: <span class="ruby-keyword kw">when</span> <span class="ruby-iden…
+52: <span class="ruby-keyword kw">self</span>.<span class="ruby-id…
+53: <span class="ruby-keyword kw">end</span>
+54: <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></sm…
+</div>
+
+</body>
+</html>
+\ No newline at end of file
diff --git a/rdoc/created.rid b/rdoc/created.rid
@@ -0,0 +1 @@
+Thu, 11 Dec 2008 19:24:20 +0100
diff --git a/rdoc/files/README_rdoc.html b/rdoc/files/README_rdoc.html
@@ -0,0 +1,167 @@
+<?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: README.rdoc</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="scr…
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=n…
+ }
+
+ 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…
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="fileHeader">
+ <h1>README.rdoc</h1>
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Path:</strong></td>
+ <td>README.rdoc
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Thu Dec 04 14:58:12 +0100 2008</td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="description">
+ <h1>ReportsAsSparkline</h1>
+<p>
+ReportsAsSparkline enables you to generate reports and sparklines from your
+database with very little effort.
+</p>
+<p>
+### Example
+</p>
+<p>
+This shows the first basic usage. Consider the following user model,
+including <b>created_at</b> and <b>activated_at</b> timestamp fields.
+</p>
+<pre>
+ class User &lt; ActiveRecord::Base
+ report_as_sparkline :registrations
+ report_as_sparkline :activations, :date_column =&gt; :activated_at
+ report_as_sparkline :total_users, :cumulate =&gt; :registrations
+ end
+</pre>
+<p>
+Using <b>report_as_sparkline</b> like this will add the following class
+methods to your User model:
+</p>
+<pre>
+ # Generates a sparkline from the google chart api
+ # so you see the registrations per day
+ User.registrations_graph
+
+ # Gets an array of the data to use in numerical display
+ User.registrations_report
+</pre>
+<p>
+### Implemented features
+</p>
+<ul>
+<li>cumulate option that depends on other report
+
+</li>
+</ul>
+<h2>TODOs/ future plans</h2>
+<ul>
+<li>support for Oracle and DB2 (and others?) missing
+
+</li>
+<li>Implement data ranges in arguments
+
+</li>
+<li>Limit number of data points to maximum that the google chart api allows
+
+</li>
+<li>Make graph styling configurable
+
+</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/over…
+</p>
+<p>
+&amp;copy; 2008 Martin Kavalar, Marco Otte-Witte (<a
+href="http://simplabs.com/#projects">simplabs.com/#projects</a>), released
+under the MIT license
+</p>
+
+ </div>
+
+
+ </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></sm…
+</div>
+
+</body>
+</html>
+\ No newline at end of file
diff --git a/rdoc/files/lib/kvlr/core_extensions/date_time_rb.html b/rdoc/files…
@@ -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: date_time.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" m…
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=n…
+ }
+
+ 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…
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="fileHeader">
+ <h1>date_time.rb</h1>
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Path:</strong></td>
+ <td>lib/kvlr/core_extensions/date_time.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Thu Dec 11 19:09:52 +0100 2008</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></sm…
+</div>
+
+</body>
+</html>
+\ No newline at end of file
diff --git a/rdoc/files/lib/kvlr/reports_as_sparkline/asset_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: asset_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" m…
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=n…
+ }
+
+ 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…
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="fileHeader">
+ <h1>asset_tag_helper.rb</h1>
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Path:</strong></td>
+ <td>lib/kvlr/reports_as_sparkline/asset_tag_helper.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Thu Dec 11 19:17:16 +0100 2008</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></sm…
+</div>
+
+</body>
+</html>
+\ No newline at end of file
diff --git a/rdoc/files/lib/kvlr/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" m…
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=n…
+ }
+
+ 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…
+
+ // ]]>
+ </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/kvlr/reports_as_sparkline/cumulated_report.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Thu Dec 11 19:24:13 +0100 2008</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></sm…
+</div>
+
+</body>
+</html>
+\ No newline at end of file
diff --git a/rdoc/files/lib/kvlr/reports_as_sparkline/grouping_rb.html b/rdoc/f…
@@ -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" m…
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=n…
+ }
+
+ 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…
+
+ // ]]>
+ </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/kvlr/reports_as_sparkline/grouping.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Thu Dec 11 18:45:43 +0100 2008</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></sm…
+</div>
+
+</body>
+</html>
+\ No newline at end of file
diff --git a/rdoc/files/lib/kvlr/reports_as_sparkline/report_cache_rb.html b/rd…
@@ -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" m…
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=n…
+ }
+
+ 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…
+
+ // ]]>
+ </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/kvlr/reports_as_sparkline/report_cache.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Thu Dec 11 17:45:37 +0100 2008</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></sm…
+</div>
+
+</body>
+</html>
+\ No newline at end of file
diff --git a/rdoc/files/lib/kvlr/reports_as_sparkline/report_rb.html b/rdoc/fil…
@@ -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" m…
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=n…
+ }
+
+ 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…
+
+ // ]]>
+ </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/kvlr/reports_as_sparkline/report.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Thu Dec 11 19:19:10 +0100 2008</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></sm…
+</div>
+
+</body>
+</html>
+\ No newline at end of file
diff --git a/rdoc/files/lib/kvlr/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" m…
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=n…
+ }
+
+ 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…
+
+ // ]]>
+ </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/kvlr/reports_as_sparkline/reporting_period.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Wed Dec 10 15:35:51 +0100 2008</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></sm…
+</div>
+
+</body>
+</html>
+\ No newline at end of file
diff --git a/rdoc/files/lib/kvlr/reports_as_sparkline_rb.html b/rdoc/files/lib/…
@@ -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" medi…
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=n…
+ }
+
+ 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…
+
+ // ]]>
+ </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/kvlr/reports_as_sparkline.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Thu Dec 11 19:07:54 +0100 2008</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></sm…
+</div>
+
+</body>
+</html>
+\ No newline at end of file
diff --git a/rdoc/fr_class_index.html b/rdoc/fr_class_index.html
@@ -0,0 +1,34 @@
+
+<?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">
+
+<!--
+
+ Classes
+
+ -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Classes</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="rdoc-style.css" type="text/css" />
+ <base target="docwin" />
+</head>
+<body>
+<div id="index">
+ <h1 class="section-bar">Classes</h1>
+ <div id="index-entries">
+ <a href="classes/Kvlr/CoreExtensions/DateTime.html">Kvlr::CoreExtensions::…
+ <a href="classes/Kvlr/ReportsAsSparkline/AssetTagHelper.html">Kvlr::Report…
+ <a href="classes/Kvlr/ReportsAsSparkline/ClassMethods.html">Kvlr::ReportsA…
+ <a href="classes/Kvlr/ReportsAsSparkline/CumulatedReport.html">Kvlr::Repor…
+ <a href="classes/Kvlr/ReportsAsSparkline/Grouping.html">Kvlr::ReportsAsSpa…
+ <a href="classes/Kvlr/ReportsAsSparkline/Report.html">Kvlr::ReportsAsSpark…
+ <a href="classes/Kvlr/ReportsAsSparkline/ReportCache.html">Kvlr::ReportsAs…
+ <a href="classes/Kvlr/ReportsAsSparkline/ReportingPeriod.html">Kvlr::Repor…
+ </div>
+</div>
+</body>
+</html>
+\ No newline at end of file
diff --git a/rdoc/fr_file_index.html b/rdoc/fr_file_index.html
@@ -0,0 +1,35 @@
+
+<?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">
+
+<!--
+
+ Files
+
+ -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Files</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="rdoc-style.css" type="text/css" />
+ <base target="docwin" />
+</head>
+<body>
+<div id="index">
+ <h1 class="section-bar">Files</h1>
+ <div id="index-entries">
+ <a href="files/README_rdoc.html">README.rdoc</a><br />
+ <a href="files/lib/kvlr/core_extensions/date_time_rb.html">lib/kvlr/core_e…
+ <a href="files/lib/kvlr/reports_as_sparkline_rb.html">lib/kvlr/reports_as_…
+ <a href="files/lib/kvlr/reports_as_sparkline/asset_tag_helper_rb.html">lib…
+ <a href="files/lib/kvlr/reports_as_sparkline/cumulated_report_rb.html">lib…
+ <a href="files/lib/kvlr/reports_as_sparkline/grouping_rb.html">lib/kvlr/re…
+ <a href="files/lib/kvlr/reports_as_sparkline/report_rb.html">lib/kvlr/repo…
+ <a href="files/lib/kvlr/reports_as_sparkline/report_cache_rb.html">lib/kvl…
+ <a href="files/lib/kvlr/reports_as_sparkline/reporting_period_rb.html">lib…
+ </div>
+</div>
+</body>
+</html>
+\ No newline at end of file
diff --git a/rdoc/fr_method_index.html b/rdoc/fr_method_index.html
@@ -0,0 +1,42 @@
+
+<?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">
+
+<!--
+
+ Methods
+
+ -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Methods</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="rdoc-style.css" type="text/css" />
+ <base target="docwin" />
+</head>
+<body>
+<div id="index">
+ <h1 class="section-bar">Methods</h1>
+ <div id="index-entries">
+ <a href="classes/Kvlr/ReportsAsSparkline/ReportingPeriod.html#M000013">== …
+ <a href="classes/Kvlr/ReportsAsSparkline/Grouping.html#M000007">date_parts…
+ <a href="classes/Kvlr/ReportsAsSparkline/ReportingPeriod.html#M000010">fir…
+ <a href="classes/Kvlr/ReportsAsSparkline/ReportingPeriod.html#M000011">fro…
+ <a href="classes/Kvlr/ReportsAsSparkline/Grouping.html#M000006">identifier…
+ <a href="classes/Kvlr/ReportsAsSparkline/Grouping.html#M000005">new (Kvlr:…
+ <a href="classes/Kvlr/ReportsAsSparkline/Report.html#M000014">new (Kvlr::R…
+ <a href="classes/Kvlr/ReportsAsSparkline/ReportingPeriod.html#M000009">new…
+ <a href="classes/Kvlr/ReportsAsSparkline/ReportingPeriod.html#M000012">pre…
+ <a href="classes/Kvlr/ReportsAsSparkline/ReportCache.html#M000004">process…
+ <a href="classes/Kvlr/ReportsAsSparkline/ClassMethods.html#M000001">report…
+ <a href="classes/Kvlr/ReportsAsSparkline/Report.html#M000015">run (Kvlr::R…
+ <a href="classes/Kvlr/ReportsAsSparkline/CumulatedReport.html#M000003">run…
+ <a href="classes/Kvlr/ReportsAsSparkline/AssetTagHelper.html#M000002">spar…
+ <a href="classes/Kvlr/CoreExtensions/DateTime.html#M000016">to_reporting_p…
+ <a href="classes/Kvlr/ReportsAsSparkline/Grouping.html#M000008">to_sql (Kv…
+ </div>
+</div>
+</body>
+</html>
+\ No newline at end of file
diff --git a/rdoc/index.html b/rdoc/index.html
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
+
+<!--
+
+ ReportsAsSparkline
+
+ -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>ReportsAsSparkline</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+</head>
+<frameset rows="20%, 80%">
+ <frameset cols="25%,35%,45%">
+ <frame src="fr_file_index.html" title="Files" name="Files" />
+ <frame src="fr_class_index.html" name="Classes" />
+ <frame src="fr_method_index.html" name="Methods" />
+ </frameset>
+ <frame src="files/README_rdoc.html" name="docwin" />
+</frameset>
+</html>
+\ No newline at end of file
diff --git a/rdoc/rdoc-style.css b/rdoc/rdoc-style.css
@@ -0,0 +1,208 @@
+
+body {
+ font-family: Verdana,Arial,Helvetica,sans-serif;
+ font-size: 90%;
+ margin: 0;
+ margin-left: 40px;
+ padding: 0;
+ background: white;
+}
+
+h1,h2,h3,h4 { margin: 0; color: #efefef; background: transparent; }
+h1 { font-size: 150%; }
+h2,h3,h4 { margin-top: 1em; }
+
+a { background: #eef; color: #039; text-decoration: none; }
+a:hover { background: #039; color: #eef; }
+
+/* Override the base stylesheet's Anchor inside a table cell */
+td > a {
+ background: transparent;
+ color: #039;
+ text-decoration: none;
+}
+
+/* and inside a section title */
+.section-title > a {
+ background: transparent;
+ color: #eee;
+ text-decoration: none;
+}
+
+/* === Structural elements =================================== */
+
+div#index {
+ margin: 0;
+ margin-left: -40px;
+ padding: 0;
+ font-size: 90%;
+}
+
+
+div#index a {
+ margin-left: 0.7em;
+}
+
+div#index .section-bar {
+ margin-left: 0px;
+ padding-left: 0.7em;
+ background: #ccc;
+ font-size: small;
+}
+
+
+div#classHeader, div#fileHeader {
+ width: auto;
+ color: white;
+ padding: 0.5em 1.5em 0.5em 1.5em;
+ margin: 0;
+ margin-left: -40px;
+ border-bottom: 3px solid #006;
+}
+
+div#classHeader a, div#fileHeader a {
+ background: inherit;
+ color: white;
+}
+
+div#classHeader td, div#fileHeader td {
+ background: inherit;
+ color: white;
+}
+
+
+div#fileHeader {
+ background: #057;
+}
+
+div#classHeader {
+ background: #048;
+}
+
+
+.class-name-in-header {
+ font-size: 180%;
+ font-weight: bold;
+}
+
+
+div#bodyContent {
+ padding: 0 1.5em 0 1.5em;
+}
+
+div#description {
+ padding: 0.5em 1.5em;
+ background: #efefef;
+ border: 1px dotted #999;
+}
+
+div#description h1,h2,h3,h4,h5,h6 {
+ color: #125;;
+ background: transparent;
+}
+
+div#validator-badges {
+ text-align: center;
+}
+div#validator-badges img { border: 0; }
+
+div#copyright {
+ color: #333;
+ background: #efefef;
+ font: 0.75em sans-serif;
+ margin-top: 5em;
+ margin-bottom: 0;
+ padding: 0.5em 2em;
+}
+
+
+/* === Classes =================================== */
+
+table.header-table {
+ color: white;
+ font-size: small;
+}
+
+.type-note {
+ font-size: small;
+ color: #DEDEDE;
+}
+
+.xxsection-bar {
+ background: #eee;
+ color: #333;
+ padding: 3px;
+}
+
+.section-bar {
+ color: #333;
+ border-bottom: 1px solid #999;
+ margin-left: -20px;
+}
+
+
+.section-title {
+ background: #79a;
+ color: #eee;
+ padding: 3px;
+ margin-top: 2em;
+ margin-left: -30px;
+ border: 1px solid #999;
+}
+
+.top-aligned-row { vertical-align: top }
+.bottom-aligned-row { vertical-align: bottom }
+
+/* --- Context section classes ----------------------- */
+
+.context-row { }
+.context-item-name { font-family: monospace; font-weight: bold; color: black; }
+.context-item-value { font-size: small; color: #448; }
+.context-item-desc { color: #333; padding-left: 2em; }
+
+/* --- Method classes -------------------------- */
+.method-detail {
+ background: #efefef;
+ padding: 0;
+ margin-top: 0.5em;
+ margin-bottom: 1em;
+ border: 1px dotted #ccc;
+}
+.method-heading {
+ color: black;
+ background: #ccc;
+ border-bottom: 1px solid #666;
+ padding: 0.2em 0.5em 0 0.5em;
+}
+.method-signature { color: black; background: inherit; }
+.method-name { font-weight: bold; }
+.method-args { font-style: italic; }
+.method-description { padding: 0 0.5em 0 0.5em; }
+
+/* --- Source code sections -------------------- */
+
+a.source-toggle { font-size: 90%; }
+div.method-source-code {
+ background: #262626;
+ color: #ffdead;
+ margin: 1em;
+ padding: 0.5em;
+ border: 1px dashed #999;
+ overflow: hidden;
+}
+
+div.method-source-code pre { color: #ffdead; overflow: hidden; }
+
+/* --- Ruby keyword styles --------------------- */
+
+.standalone-code { background: #221111; color: #ffdead; overflow: hidden; }
+
+.ruby-constant { color: #7fffd4; background: transparent; }
+.ruby-keyword { color: #00ffff; background: transparent; }
+.ruby-ivar { color: #eedd82; background: transparent; }
+.ruby-operator { color: #00ffee; background: transparent; }
+.ruby-identifier { color: #ffdead; background: transparent; }
+.ruby-node { color: #ffa07a; background: transparent; }
+.ruby-comment { color: #b22222; font-weight: bold; background: transparent; }
+.ruby-regexp { color: #ffa07a; background: transparent; }
+.ruby-value { color: #7fffd4; background: transparent; }
+\ No newline at end of file
You are viewing proxied material from jay.scot. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.