Feature #21616
opendate ライブラリを deprecated させたい
Description
概要¶
date ライブラリが長期間メンテナンスされておらず、機能を time ライブラリに委譲して deprecated させたい
というお話が出ていると風の噂で耳にしましたが、どこまでを考えられているのかご意見をお聞きしたいです。
確認事項¶
Date._parse
を time に移植したい¶
Time._parse
なるものが実現できれば十分でしょうか?(それっぽく移植はしてみました。)
Date.strptime
を time に移植したい¶
date_strptime.c をそのまま time に移植していいものでしょうか?
「time に移植するならついでにこんな感じだと嬉しい」といった要望があったりするのでしょうか?
deprecated させた場合の影響範囲¶
deprecated はかなりのインパクトであり、様々な gem やプロダクトに影響を及ぼすかと思います。
例えば「Ruby on Rails では誰に相談すべきか」など、どこまでを考慮すべきでしょうか?
Updated by nobu (Nobuyoshi Nakada) 1 day ago
jinroq (Jinroq SAITOH) wrote:
Date._parse
を time に移植したい¶
Time._parse
なるものが実現できれば十分でしょうか?(それっぽく移植はしてみました。)
むしろ、あまりにもheuristicすぎるTime.parse
こそが廃止したい筆頭ですね。
また、実装面で言うとCとrubyをfuncallとblockで繰り返し行き来するというのも、少なくともVM化した1.9以降では有利とは言えません。
Date.strptime
を time に移植したい¶date_strptime.c をそのまま time に移植していいものでしょうか?
「time に移植するならついでにこんな感じだと嬉しい」といった要望があったりするのでしょうか?
しばらく前から考えているのが、基準になる時刻はどうせ必要なので、クラスメソッドではなくインスタンスメソッドのほうがいいのではということです。
こんな感じ。
basetime = Time.now
basetime.parse(time_string, format: ["%FT%T%Z", "%F %T %Z", "%+"])
ただ、可能なformat
を全部渡すという形だと、省略を許すという記法がないと使いづらいかもという懸念はあります。
deprecated させた場合の影響範囲¶
deprecated はかなりのインパクトであり、様々な gem やプロダクトに影響を及ぼすかと思います。
例えば「Ruby on Rails では誰に相談すべきか」など、どこまでを考慮すべきでしょうか?
影響範囲などが読めないというのも、なかなか手が進まない理由にあります。