Project モデルと Developer モデルがあります。特定の開発者向けのプロジェクトの「面白さ」を計算するという概念があります。
class Project < ActiveRecord::Base
def interestingness_for(developer)
some_integer_based_on_some_calculations
end
end
Project.order_by_interestingness_for(bill)
のようなものではなく、言えるようになるといいと思います。
Project.order(:interestingness, :developer => bill)
単なる関数ではなくスコープにするので、次のようなことができます
Project.order(:interestingness, :developer => bill).limit(10)
ただし、スコープをオーバーライドする方法が明らかではないため、これを行う方法はわかりません。何かアドバイス?