本記事について
Railsに特化して書いているが汎用的ではある。
CHANGELOG.mdなファイルに全部載ってたら楽だが、全てのライブラリがそうではない。
じゃあどうやって調べるのかという話。
環境
ruby 2.7.5
Rails 6.1.7.1
本記事の題材
.rb
Rails 6.1の場合
[1] pry(main)> Time.current
=> Tue, 31 Jan 2023 10:12:36.749685920 JST +09:00
Rails 6.0の場合
[1] pry(main)> Time.current
=> Tue, 31 Jan 2023 10:06:14 JST +09:00
Time.current.class
=> ActiveSupport::TimeWithZone
なため、ここに変更があったのかなと予想できる
ナノ秒出力されるようになってる!
調べ方1 変更が加わったバージョンを特定し、Releasesで確認
リリースのページで検索するとすぐ出る。Tagsからバージョン指定して探してもいいと思う
Add subsec to ActiveSupport::TimeWithZone#inspect.
調べ方2 railsのコード直で見る
本件に関してはとてもわかりやすくコメントがある
.rb
# Time.zone = 'Eastern Time (US & Canada)' # => 'Eastern Time (US & Canada)'
# Time.zone.local(2007, 2, 10, 15, 30, 45) # => Sat, 10 Feb 2007 15:30:45.000000000 EST -05:00
# Time.zone.parse('2007-02-10 15:30:45') # => Sat, 10 Feb 2007 15:30:45.000000000 EST -05:00
# Time.zone.at(1171139445) # => Sat, 10 Feb 2007 15:30:45.000000000 EST -05:00
# Time.zone.now # => Sun, 18 May 2008 13:07:55.754107581 EDT -04:00
# Time.utc(2007, 2, 10, 20, 30, 45).in_time_zone # => Sat, 10 Feb 2007 15:30:45.000000000 EST -05:00
.rb
# Time.zone = 'Eastern Time (US & Canada)' # => 'Eastern Time (US & Canada)'
# Time.zone.local(2007, 2, 10, 15, 30, 45) # => Sat, 10 Feb 2007 15:30:45 EST -05:00
# Time.zone.parse('2007-02-10 15:30:45') # => Sat, 10 Feb 2007 15:30:45 EST -05:00
# Time.zone.at(1171139445) # => Sat, 10 Feb 2007 15:30:45 EST -05:00
# Time.zone.now # => Sun, 18 May 2008 13:07:55 EDT -04:00
# Time.utc(2007, 2, 10, 20, 30, 45).in_time_zone # => Sat, 10 Feb 2007 15:30:45 EST -05:00
この行を変更したPRが探しているものでしょう!ということで vscode の GitLens で飛ぶ
この調査の仕方にたどり着くまでにためしてだめだったこと。
Rails 6.1 ナノ秒
とかで検索する。
=> 全然出ない。何故?
Railsガイドのリリースノートを見る
=> ない。
Rails 6.1の変更系記事をいくつか見る
=> ない