Я знаю, вы сказали, что хотите перезаписать ..
, это строгое требование или вы просто хотите?
Ниже приводится массив объектов даты в диапазоне. Это может не обрабатывать все случаи и требует настройки. Я не знаю, почему вы будете против того, чтобы заниматься чем-то вроде этого.
require 'active_support'
def daterange(datestart,dateend)
datearray = []
myrange = (datestart.to_date - dateend.to_date).to_i.abs
myrange.times do |x|
datearray << datestart + x.day
end
datearray
end
puts daterange(Date.today,1.month.since)