Как добавить метод в коллекцию activerecord?

Я хотел бы добавить метод для всех коллекций для конкретной модели. Допустим, я хочу добавить методmy_complicated_averaging_method в коллекции WeatherData:

WeatherData.all.limit(3).my_complicated_averaging_method()
Station.first.weatherdata.my_complicated_averaging_method()

Каков наилучший способ сделать это? На данный момент единственный способ, который я нашел, это так:

class WeatherData < ActiveRecord::Base
  def self.my_complicated_averaging_method
    weighted_average = 0
    @relation.each do |post|
      # do something complicated
      # weighted_average = 
    end
    return weighted_average
  end
end

Это хороший способ добавить метод в коллекцию? Есть ли лучший / поддерживаемый способ сделать это?

Ответы на вопрос(3)

Ваш ответ на вопрос