the Report#run method only accepts :conditions and _limit options - reportable - Fork of reportable required by WarVox, from hdm/reportable.
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
       ---
 (DIR) commit 2d19c69d72d105e1ceceef35ba963c309b477fb2
 (DIR) parent 6a2014d4aef05d98e682c1f0db51caa6e885be45
 (HTM) Author: marcoow <marco.otte-witte@simplabs.com>
       Date:   Fri,  5 Dec 2008 23:56:16 +0800
       
       the Report#run method only accepts :conditions and _limit options
       
       Signed-off-by: Marco Otte-Witte <marco.otte-witte@simplabs.com>
       Diffstat:
         M lib/kvlr/reports_as_sparkline/repo… |       9 ++++-----
         M lib/kvlr/reports_as_sparkline/repo… |       3 ++-
         M spec/other/cumulated_report_spec.rb |       2 +-
       
       3 files changed, 7 insertions(+), 7 deletions(-)
       ---
 (DIR) diff --git a/lib/kvlr/reports_as_sparkline/report.rb b/lib/kvlr/reports_as_sparkline/report.rb
       @@ -11,7 +11,7 @@ module Kvlr #:nodoc:
                @klass             = klass
                @name              = name
                @date_column_name  = (options[:date_column_name] || 'created_at').to_s
       -        @value_column_name = (options[:value_column_name] || (options[:aggregation] != :sum ? 'id' : @name)).to_s
       +        @value_column_name = (options[:value_column_name] || (options[:aggregation] != :sum ? 'id' : name)).to_s
                @aggregation       = options[:aggregation] || :count
                @grouping          = Grouping.new(options[:grouping] || :day)
                @options = {
       @@ -19,13 +19,12 @@ module Kvlr #:nodoc:
                  :conditions        => options[:conditions] || ['']
                }
                @options.merge!(options)
       -        @options[:conditions][0].freeze
              end
        
              def run(options = {})
                ensure_valid_options(options)
       -        options = @options.merge(options)
       -        ReportCache.cached_transaction(self, options[:limit]) do |begin_at|
       +        ReportCache.cached_transaction(self, options, options.key?(:conditions)) do |begin_at|
       +          options = @options.merge(options)
                  conditions = setup_conditions(begin_at, options[:conditions])
                  @klass.send(@aggregation,
                    @value_column_name,
       @@ -52,7 +51,7 @@ module Kvlr #:nodoc:
                  conditions << begin_at
                end
        
       -        def ensure_valid_options(options)
       +        def ensure_valid_options(options, context = :initialize)
                  options.each_key do |k|
                    raise ArgumentError.new("Invalid option #{k}") unless [:limit, :aggregation, :grouping, :date_column_name, :value_column_name, :conditions].include?(k)
                  end
 (DIR) diff --git a/lib/kvlr/reports_as_sparkline/report_cache.rb b/lib/kvlr/reports_as_sparkline/report_cache.rb
       @@ -4,8 +4,9 @@ module Kvlr #:nodoc:
        
            class ReportCache < ActiveRecord::Base
        
       -      def self.cached_transaction(report, limit, &block)
       +      def self.cached_transaction(report, limit, no_cache = false, &block)
                raise ArgumentError.new('A block must be given') unless block_given?
       +        return yield(report.grouping.first_reporting_period(limit)) if no_cache
                self.transaction do
                  cached_data = self.find(
                    :all,
 (DIR) diff --git a/spec/other/cumulated_report_spec.rb b/spec/other/cumulated_report_spec.rb
       @@ -6,7 +6,7 @@ describe Kvlr::ReportsAsSparkline::CumulatedReport do
            @report = Kvlr::ReportsAsSparkline::CumulatedReport.new(User, :cumulated_registrations)
          end
        
       -  describe '#run' do
       +  describe '.run' do
        
            describe do