У меня есть массив объектов, назовем его Indicator. Я хочу запустить методы класса Indicator (те из def self.subjects сорт, области и т.д.) В этом массиве. Единственный способ, которым я знаю, запускать методы класса в группе объектов, - это быть ActiveRecord:: Relation. Поэтому я в конечном итоге прибегает к добавлению метода to_indicators к Array.
def to_indicators
  # TODO: Make this less terrible.
  Indicator.where id: self.pluck(:id)
end
Иногда я цепляю немало таких областей, чтобы отфильтровывать результаты в методах класса. Поэтому, хотя я вызываю метод в ActiveRecord:: Relation, я не знаю, как получить доступ к этому объекту. Я могу добраться до содержимого через all. Но all - это массив. Поэтому мне нужно преобразовать этот массив в ActiveRecord:: Relation. Например, это часть одного из методов:
all.to_indicators.applicable_for_bank(id).each do |indicator|
  total += indicator.residual_risk_for(id)
  indicator_count += 1 if indicator.completed_by?(id)
end
Я думаю, это конденсируется до двух вопросов.
-  Как преобразовать массив объектов в ActiveRecord:: Relation? Предпочтительно, не делая 
whereкаждый раз. -  При запуске метода типа 
def self.subjectsв ActiveRecord:: Relation, как мне получить доступ к самому объекту ActiveRecord:: Relation? 
Спасибо. Если мне нужно что-то разъяснить, дайте мне знать.