No sé si he entendido por completo la pregunta, pero aquí está una respuesta que podría ayudar
(1.month.ago.to_date..Date.today).map{ |date| date.strftime("%b %d") }
salidas
["Jan 07", "Jan 08", "Jan 09", "Jan 10", "Jan 11", "Jan 12", "Jan 13", "Jan 14", "Jan 15", "Jan 16", "Jan 17", "Jan 18", "Jan 19", "Jan 20", "Jan 21", "Jan 22", "Jan 23", "Jan 24", "Jan 25", "Jan 26", "Jan 27", "Jan 28", "Jan 29", "Jan 30", "Jan 31", "Feb 01", "Feb 02", "Feb 03", "Feb 04", "Feb 05", "Feb 06"]
Se puede crear un rango de fechas, y luego convertirlos al formato deseado usando strftime
Solo asegúrese de utilizar objetos Date
en su rango en lugar de objetos Time
, de lo contrario creará una matriz de cada segundo incluido en ese lapso.
No entiendo la pregunta. ¿La respuesta depende de la fecha actual? Alguna otra entrada? ¿Cómo se vería la salida? Tal vez deberías proporcionar algunos ejemplos de entrada y salida, y pensar si alguien que no sabe nada acerca de tu problema entendería la pregunta. – DigitalRoss
Disculpa la vaguedad. actualizó la pregunta :) – Elliot