Railsアプリでは、特定の平日の次の発生日を他の日付から取得する必要があります。だから基本的にはdate.next_monday
、date.next_wednesday
タイプ関数が必要です。これらは標準のRubyライブラリには存在しないと思うので、次のようにDateクラスにモンキーパッチを適用することにしました。
class Date
weekdays = [:sunday, :monday, :tuesday, :wednesday, :thursday, :friday, :saturday]
weekdays.each do |weekday|
method_name = "next_" + weekday.to_s
send :define_method, method_name do
tmp_date = self + 1
until tmp_date.send((weekday.to_s + "?").to_sym)
tmp_date = tmp_date + 1
end
tmp_date
end
end
end
これはうまくいくようです。私の質問は次のとおりです。
- 私はそれをすべてする必要はありませんでしたか?(私が考えていないnext_を取得する方法はありますか?
- 私がしたことが必要な場合、平日の配列を取得するためのより良い方法はありますか?
ありがとう!