Jak dodać metodę do kolekcji aktywnego rekordu?
Chciałbym dodać metodę do wszystkich kolekcji dla określonego modelu. Powiedzmy, że chcę dodać metodęmy_complicated_averaging_method
do kolekcji WeatherData:
WeatherData.all.limit(3).my_complicated_averaging_method()
Station.first.weatherdata.my_complicated_averaging_method()
Jak najlepiej to zrobić? W tej chwili jedynym sposobem, jaki znalazłem, jest taki:
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
Czy to dobry sposób na dodanie metody do kolekcji? Czy istnieje lepszy / obsługiwany sposób, aby to zrobić?