Один вкладыш для разбиения объектов Ruby на подмассивы на основе даты / таймфрейма? - PullRequest
3 голосов
/ 29 сентября 2010

Скажем, у меня 1200 объектов ActiveRecord с атрибутом created_at, и 100 создавались каждый месяц в течение года. Какой единственный рубиновый способ перебирать записи и разбивать их на месяц?

[record_a, record_b, record_c, ...].group_by(&:month) do |month, records_for_the_month|
  records_for_the_month.each ...
end

... при условии, что у меня нет метода / атрибута month, и я могу захотеть разделить его на любой произвольный период времени (4 недели, квартал, сезон, недели и т. Д.)

1 Ответ

2 голосов
/ 29 сентября 2010

Как насчет этого?

Foo.all.group_by{|v| v.created_at.beginning_of_month }.values

Вернет массив массивов записей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...