(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|