Позвольте мне описать очень простой алгоритм, который может работать на вас.
Прежде всего, назначьте каждый день глобальный счетчик дат, скажем, число дней после Христа.Вы хотели ruby, поэтому я покажу вам, как это сделать в ruby (это показывает, что сегодня 734918-й день)
require "Date"
Date.today - Date.new(0)
Теперь позвольте мне сказать, какие файлы вы храните: Вы сохраняете все файлы из последних 30дней, в течение следующих 40 вы сохраняете каждый файл с индексом, кратным 2, в течение следующих 80 вы сохраняете каждый день с индексом, кратным 4, в течение следующих 120 вы сохраняете каждый файл с индексом, делимым на 8, а для остальных 85/86вы сохраняете каждый файл с индексом, делимым на 16. Таким образом, с течением времени все, что вам нужно, это проверить, нужно ли вам удалить некоторые из сохраненных файлов, и вам никогда не потребуется показывать файл, который вы уже стерли.Скажите, если вам нужен код для этой логики тоже.