なるようになるブログ

読書感想文かrailsについてかrubyについてか

rails commit log流し読み(2023/12/02)

2023/12/02分のコミットです。

CHANGELOGにのったコミットは以下の通りです。

actionview/CHANGELOG.md

activesupport/CHANGELOG.md

activejob/CHANGELOG.md


Revert "Add config for validating migration timestamps"

migrationファイルのtimestamp prefixが正しいフォーマットになっているかをチェックするよう修正した、Add active_record.config.validate_migration_timestamps option.をRevertしています。Rails engineのgeneratorでmigrationファイルを作成する際に、timestampのフォーマットにならないケースがあり(日時に連番を加算している処理がある)、その処理で生成されたmigirationファイルでエラーになってしまう為。


Add regression test for copying migrations at timestamp boundary

activerecord/test/cases/migration_test.rbの修正です。

migrationファイルのprefixが不正なtimestampになっている場合のテストを追加しています。


Alias field_set_tag helper to fieldset_tag

actionview/lib/action_view/helpers/form_tag_helper.rbの修正です。

field_set_tag helperのaliasとしてfieldset_tagを定義しています。生成される要素が<fieldset>な為、fieldset_tagで生成出来ても良いのでは、という事で追加されたようです。


Update security.md typo about HTTP Strict-Transport-Security [ci-skip]

rails guideのSecuring Rails Applicationsの修正です。

Strict-Transport-Security Headerセクションのタイポを修正しています。


Fix dependency on JSON gem

Gemfileの修正です。

json gem 2.7.0を使用しないようバージョン指定を修正しています。unenclosed hashに関する処理でリグレッションがある為。

参考: JSON.dump: handle unenclosed hashes regression


Fix Time.now/DateTime.now/Date.today to return results in a system timezone after #travel_to

activesupport/lib/active_support/testing/time_helpers.rbの修正です。

ActiveSupport::TimeHelpersを使用している場合に、stubされたTime/DateTime/Dateの値が、元のtimezoneと異なっていた(必ずsystem timezoneになっていた)のを、元のtimezoneと同じになるよう修正しています。


Batch define FormBuilder methods with CodeGenerator

actionview/lib/action_view/helpers/form_helper.rbの修正です。

FormBuilder用のメソッドを、ActiveSupport::CodeGenerator.batchを使用して一度にまとめて定義するよう修正しています。


Action View Docs: field_id and field_name examples [ci skip]

actionview/lib/action_view/helpers/form_helper.rbactionview/lib/action_view/helpers/form_tag_helper.rbのdocの修正です。

exampleコードについて、erbの閉じタグが不足していたのを修正、及び、使用すべきhelperメソッドを間違えている箇所があったのを修正しています。


[Fix #50230] Preserve serialized timezone when deserializing with ActiveJob::Serializers::TimeWithZoneSerializer

activejob/lib/active_job/serializers/time_with_zone_serializer.rbの修正です。

Active Jobのjobの引数に`ActiveSupport::TimeWithZoneインスタンスを指定した場合に、引数のdeserializing時に、値の元々のtimezoneの情報が失われてしまっていたのを、維持するよう修正しています。