rails/rails — pull request #11474 by bogdan (2013-07-17 10:48:20+00:00)
Title: Prevent server blow up when iterating over TimeWithZone Range

Iterating over a Range of Time is impossible in ruby:

``` ruby
((Time.now - 1.month)..Time.now).to_a # raises TypeError: can't iterate from Time
```

But it is still possible with ActiveSupport::TimeWithZone

``` ruby
((Time.now.in_time_zone - 1.month)..Time.now.in_time_zone).to_a
# => Tons of deprecations blow up your console
```

In good case current process is stuck with IO.
In worth case server disk space blow up with production.log file.

This was a huge problem for us and caused a down time on our production app.

In order to prevent that we can generate #succ deprecation warning only once.
And remove TimeWithZone#succ as soon as Time#succ will be removed.