0

メソッド呼び出しのあるモデルがありdue?ます。

def due?
  case self[:occurring]
  when 'yearly'
    last_update = self[:date]
    due         = self[:action]

    today       = Date.today
    this_year   = today.year
    next_year   = this_year + 1

    return (
      last_update >= (Date.new(this_year, due.month, due.day)) &&
      last_update <  Date.new(next_year, due.month, due.day) &&
      !self.open?
    )
  when 'monthly'
    #... TODO
  else
    return self[:date] <= DateTime.now
  end
end

何も悪くない。問題は、上記のアルゴリズム/検索を使用して予定されているすべてのレコードを見つける必要があることです。スコープを使用するつもりでしたが、それには少し多すぎると思います。どうすれば続行できますか?

4

2 に答える 2