スコープまたはクラス メソッドでモデルのメソッドを使用する方法はありますか?
連絡先クラスにこれら 2 つのメソッドがあり、連絡先がアクティブかどうかを定義します
def active
return no_of_activities_last_year > 0 ? true : false
end
def no_of_activities_last_year
time_range = (Time.now - 1.year)..Time.now
activities.where(:updated_at => time_range).count
end
次に、スコープまたはクラスメソッドのいずれかで、次のようなすべてのアクティブな連絡先を返すことができるようにしたいと思います。
scope :active_contacts, lambda {where(:active => true)}
また
def self.active_contacts
where(:active => true)
end
しかし、アクティブはデータベースの一部ではないため、機能しません。
これを実現できる賢い方法はありますか?そして、他のスコープと組み合わせることができる方法で望ましいですか?