Permalink
Browse files

Fixed Date#end_of_quarter to not blow up on May 31st [#289 state:reso…

…lved] (Danger)
  • Loading branch information...
1 parent fe4d75b commit 27117920af57761abe2a8660bb1f4c9849831d36 @dhh dhh committed Jun 3, 2008
@@ -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]
@@ -184,7 +184,7 @@ def beginning_of_quarter
# 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
@@ -76,6 +76,7 @@ def test_end_of_quarter
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

0 comments on commit 2711792

Please sign in to comment.