moved DateTime#reporting_period to Date#to_reporting_period - reportable - Fork of reportable required by WarVox, from hdm/reportable.
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
       ---
 (DIR) commit b15fdc0f574ec4fb68328b05d0176c890d21deda
 (DIR) parent 4599dc5418a0154fa7a355cca293ed4cf538f3a0
 (HTM) Author: Marco Otte-Witte <marco.otte-witte@simplabs.com>
       Date:   Wed, 14 Jan 2009 17:27:55 +0800
       
       moved DateTime#reporting_period to Date#to_reporting_period
       
       Signed-off-by: Marco Otte-Witte <marco.otte-witte@simplabs.com>
       Diffstat:
         A lib/kvlr/core_extensions/date.rb    |      25 +++++++++++++++++++++++++
         A spec/other/date_spec.rb             |      27 +++++++++++++++++++++++++++
       
       2 files changed, 52 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/lib/kvlr/core_extensions/date.rb b/lib/kvlr/core_extensions/date.rb
       @@ -0,0 +1,25 @@
       +module Kvlr #:nodoc:
       +
       +  module CoreExtensions #:nodoc:
       +
       +    module Date
       +
       +      ::Date.class_eval do
       +
       +        # Converts the DateTime into a Kvlr::ReportsAsSparkline::ReportingPeriod
       +        def to_reporting_period(grouping)
       +          if grouping.is_a?(Symbol)
       +            grouping = Kvlr::ReportsAsSparkline::Grouping.new(grouping)
       +          elsif !grouping.is_a?(Kvlr::ReportsAsSparkline::Grouping)
       +            raise ArgumentError.new('grouping must be either an instance of Kvlr::ReportsAsSparkline::Grouping or a symbol.')
       +          end
       +          Kvlr::ReportsAsSparkline::ReportingPeriod.new(grouping, self)
       +        end
       +
       +      end
       +
       +    end
       +
       +  end
       +
       +end
 (DIR) diff --git a/spec/other/date_spec.rb b/spec/other/date_spec.rb
       @@ -0,0 +1,27 @@
       +require File.join(File.dirname(__FILE__), '..', 'spec_helper')
       +
       +describe Date do
       +
       +  describe '#to_reporting_period' do
       +
       +    it 'should return a reporting period for the specified grouping and instance of DateTime' do
       +      date_time = DateTime.now
       +      grouping = Kvlr::ReportsAsSparkline::Grouping.new(:hour)
       +
       +      date_time.to_reporting_period(grouping).should == Kvlr::ReportsAsSparkline::ReportingPeriod.new(grouping, date_time)
       +    end
       +
       +    it 'should return a reporting period for the specified grouping and instance of DateTime if the grouping is specified as a symbol' do
       +      date_time = DateTime.now
       +      grouping = Kvlr::ReportsAsSparkline::Grouping.new(:hour)
       +
       +      date_time.to_reporting_period(:hour).should == Kvlr::ReportsAsSparkline::ReportingPeriod.new(grouping, date_time)
       +    end
       +
       +    it 'should raise an ArgumentError if the grouping is not specified as a symbol or an instance of Kvlr::ReportsAsSparkline::Grouping' do
       +      lambda { DateTime.now.to_reporting_period(1) }.should raise_error(ArgumentError)
       +    end
       +
       +  end
       +
       +end