FlexFiend FlexFiend - 1 year ago 186
Ruby Question

RoR, Can't iterate from DateTime/TimeWithZone

I have a simple task where I want to take a starting date and an ending date and loop over the days/dates. This code is being used in my db:seed rake task. Currently, my code has gone through the following attempts.

(someModel.start_date.to_datetime..someModel.end_date.to_datetime).each {
|x| puts x
(someModel.start_date...someModel.end_date).each { |x| puts x }

In each case, I get an error like this.

can't iterate from ActiveSupport::TimeWithZone
can't iterate from DateTime

If anyone has any clue on how to iterate over a range of DateTimes I'd be greatly appreciative.

Answer Source
start = someModel.start_date.to_datetime
finish = someModel.end_date.to_datetime
while(start < finish) do
  #bunch of awesome stuff
  start += 1.day
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download