diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2008-06-02 22:02:43 -0500 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2008-06-02 22:02:43 -0500 |
commit | 64fea9c45c515496bb60df4a1e141f44cac4d158 (patch) | |
tree | 0da66f85c390b552c6c46a83bf27b76e20ba5e51 /activesupport | |
parent | e7a305f08d8f72f81449e1d8934fba31f038ad88 (diff) | |
download | rails-64fea9c45c515496bb60df4a1e141f44cac4d158.tar.gz rails-64fea9c45c515496bb60df4a1e141f44cac4d158.tar.bz2 rails-64fea9c45c515496bb60df4a1e141f44cac4d158.zip |
Fixed Date#end_of_quarter to not blow up on May 31st [#289 state:resolved] (Danger)
Diffstat (limited to 'activesupport')
-rw-r--r-- | activesupport/CHANGELOG | 5 | ||||
-rw-r--r-- | activesupport/lib/active_support/core_ext/date/calculations.rb | 2 | ||||
-rw-r--r-- | activesupport/test/core_ext/date_ext_test.rb | 1 |
3 files changed, 7 insertions, 1 deletions
diff --git a/activesupport/CHANGELOG b/activesupport/CHANGELOG index 15c25debf4..a1a3c7ac2b 100644 --- a/activesupport/CHANGELOG +++ b/activesupport/CHANGELOG @@ -1,3 +1,8 @@ +*Edge* + +* Fixed Date#end_of_quarter to not blow up on May 31st [#289 state:resolved] (Danger) + + *2.1.0 (May 31st, 2008)* * TimeZone#to_s shows offset as GMT instead of UTC, because GMT will be more familiar to end users (see time zone selects used by Windows OS, google.com and yahoo.com.) Reverts [8370] [Geoff Buesing] diff --git a/activesupport/lib/active_support/core_ext/date/calculations.rb b/activesupport/lib/active_support/core_ext/date/calculations.rb index 1e2dbf118e..b5180c9592 100644 --- a/activesupport/lib/active_support/core_ext/date/calculations.rb +++ b/activesupport/lib/active_support/core_ext/date/calculations.rb @@ -184,7 +184,7 @@ module ActiveSupport #:nodoc: # Returns a new Date/DateTime representing the end of the quarter (last day of march, june, september, december; DateTime objects will have time set to 23:59:59) def end_of_quarter - change(:month => [3, 6, 9, 12].detect { |m| m >= self.month }).end_of_month + beginning_of_month.change(:month => [3, 6, 9, 12].detect { |m| m >= self.month }).end_of_month end alias :at_end_of_quarter :end_of_quarter diff --git a/activesupport/test/core_ext/date_ext_test.rb b/activesupport/test/core_ext/date_ext_test.rb index 5925ae3a61..e1d2f0e7f2 100644 --- a/activesupport/test/core_ext/date_ext_test.rb +++ b/activesupport/test/core_ext/date_ext_test.rb @@ -76,6 +76,7 @@ class DateExtCalculationsTest < Test::Unit::TestCase assert_equal Date.new(2008,3,31), Date.new(2008,3,31).end_of_quarter assert_equal Date.new(2008,12,31), Date.new(2008,10,8).end_of_quarter assert_equal Date.new(2008,6,30), Date.new(2008,4,14).end_of_quarter + assert_equal Date.new(2008,6,30), Date.new(2008,5,31).end_of_quarter assert_equal Date.new(2008,9,30), Date.new(2008,8,21).end_of_quarter end |