Есть много решений для этого. Вы можете сделать это, например:
from_start_date_ts = Time.parse(start_date)
to_date_ts = Time.parse(end_date)
current_date_ts = from_start_date_ts
while current_date_ts < to_date_ts
current_date_ts += 1.day
current_date_str = current_date_ts.strftime("%D")
end
Я не тестировал его, поэтому он может не работать, как есть, но лучше показать вам один возможный синтаксис цикла в Ruby. Обратите внимание, что вы можете использовать по-разному:
while [condition]
# do something
end
begin
# do something
end while [condition]
Вы также можете использовать синтаксис цикла:
loop do
# do something
break if [condition]
end
Или цикл до:
until current_date_ts > to_date_ts
current_date_ts += 1.day
current_date_str = current_date_ts.strftime("%D")
end
Есть еще:)