特定のモデルのすべてのコレクションにメソッドを追加したいと考えています。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
これはコレクションにメソッドを追加する良い方法ですか? これを行うためのより良い/サポートされている方法はありますか?