Хорошо, у меня есть массив из 4 объектов, таких как
=> [#<Graphic id: 3...">, #<Collection id: 1....">, #<Category id:...">, #<Volume id: 15...">]
matches.size
=> 4
с 4 различными объектами (Графика, Коллекция, Категория, Объем) Теперь мне нужно разделить их на 4 массива на основе объектов. Итак, я создал этот метод, и он работает, но он настолько хакерский ... любые идеи о том, как добиться того же самого в более краткой форме ... подробнее rubyesk
Вот мой метод
def self.get_results(matches)
graphics = [], collections = [], categories = [], sub_categories = []
matches.group_by(&:class).each do |key, group|
case group.first.class.to_s
when "Graphic"
graphics << group
when "Category"
categories << group
when "SubCategory"
sub_categories << group
when "Collection"
collections << group
end
end
[graphics.flatten, collections.flatten, categories.flatten, sub_categories.flatten]
end