(hopefully ;) fixed bug in ReportCache - reportable - Fork of reportable required by WarVox, from hdm/reportable.
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
       ---
 (DIR) commit c7ad0fb7242250e5f50eb5ac4edf2e278e436a7c
 (DIR) parent baf5e26d2090c2390f178f3405728f9f2caf38cf
 (HTM) Author: Marco Otte-Witte <marco.otte-witte@simplabs.com>
       Date:   Tue, 20 Jan 2009 18:30:28 +0100
       
       (hopefully ;) fixed bug in ReportCache
       
       Diffstat:
         M lib/kvlr/reports_as_sparkline/repo… |       4 ++--
         M spec/classes/report_cache_spec.rb   |       4 ++--
       
       2 files changed, 4 insertions(+), 4 deletions(-)
       ---
 (DIR) diff --git a/lib/kvlr/reports_as_sparkline/report_cache.rb b/lib/kvlr/reports_as_sparkline/report_cache.rb
       @@ -11,7 +11,7 @@ module Kvlr #:nodoc:
                  first_reporting_period = ReportingPeriod.first(options[:grouping], options[:limit])
                  if cache
                    cached_data = find_cached_data(report, options, first_reporting_period)
       -            last_cached_reporting_period = (ReportingPeriod.new(options[:grouping], cached_data.last.reporting_period.date_time) rescue nil)
       +            last_cached_reporting_period = cached_data.empty? ? nil : ReportingPeriod.new(options[:grouping], cached_data.last.reporting_period)
                  end
                  new_data = if !options[:live_data] && last_cached_reporting_period == ReportingPeriod.new(options[:grouping]).previous
                    []
       @@ -28,7 +28,7 @@ module Kvlr #:nodoc:
                  new_data.map! { |data| [ReportingPeriod.from_db_string(options[:grouping], data[0]), data[1]] }
                  result = cached_data.map { |cached| [cached.reporting_period, cached.value] }
                  current_reporting_period = ReportingPeriod.new(options[:grouping])
       -          reporting_period = (cached_data.last.reporting_period.next rescue ReportingPeriod.first(options[:grouping], options[:limit]))
       +          reporting_period = cached_data.empty? ? ReportingPeriod.first(options[:grouping], options[:limit]) : ReportingPeriod.new(options[:grouping], cached_data.last.reporting_period).next
                  while reporting_period < current_reporting_period
                    cached = build_cached_data(report, options[:grouping], reporting_period, find_value(new_data, reporting_period))
                    cached.save! if cache
 (DIR) diff --git a/spec/classes/report_cache_spec.rb b/spec/classes/report_cache_spec.rb
       @@ -43,7 +43,7 @@ describe Kvlr::ReportsAsSparkline::ReportCache do
                  Time.now - 3.send(@report.options[:grouping].identifier)
                )
                cached = Kvlr::ReportsAsSparkline::ReportCache.new
       -        cached.stub!(:reporting_period).and_return(reporting_period)
       +        cached.stub!(:reporting_period).and_return(reporting_period.date_time)
                Kvlr::ReportsAsSparkline::ReportCache.stub!(:find).and_return([cached])
        
                Kvlr::ReportsAsSparkline::ReportCache.process(@report, @options) do |begin_at|
       @@ -77,7 +77,7 @@ describe Kvlr::ReportsAsSparkline::ReportCache do
                  Time.now - 3.send(@report.options[:grouping].identifier)
                )
                cached = Kvlr::ReportsAsSparkline::ReportCache.new
       -        cached.stub!(:reporting_period).and_return(reporting_period)
       +        cached.stub!(:reporting_period).and_return(reporting_period.date_time)
                Kvlr::ReportsAsSparkline::ReportCache.stub!(:find).and_return([cached])
        
                Kvlr::ReportsAsSparkline::ReportCache.process(@report, @report.options) do |begin_at|