diff options
Diffstat (limited to 'activesupport/lib')
-rw-r--r-- | activesupport/lib/active_support/core_ext/time/calculations.rb | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/activesupport/lib/active_support/core_ext/time/calculations.rb b/activesupport/lib/active_support/core_ext/time/calculations.rb index acc84017ab..f238ca168a 100644 --- a/activesupport/lib/active_support/core_ext/time/calculations.rb +++ b/activesupport/lib/active_support/core_ext/time/calculations.rb @@ -48,7 +48,8 @@ module ActiveSupport #:nodoc: def months_since(months) if months + self.month > 12 - change(:year => self.year + 1, :month => 1).months_since(months - (self.month == 1 ? 12 : (self.month + 1))) + old_time = self + change(:year => self.year + 1, :month => 1).months_since(months + old_time.month - 12 - 1) else change(:year => self.year, :month => self.month + months) end |