FlexFiend FlexFiend - 2 months ago 14
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
or
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
start = someModel.start_date.to_datetime
finish = someModel.end_date.to_datetime
while(start < finish) do
  #bunch of awesome stuff
  start += 1.day
end