なるようになるブログ

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

rails commit log流し読み(2021/06/29)

2021/06/29分のコミットです。

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

activesupport/CHANGELOG.md

activerecord/CHANGELOG.md


Add support for ordinal date values in AS::TimeZone.iso8601

activesupport/lib/active_support/values/time_zone.rbの修正です。

Date._iso8601メソッドと同様に、ActiveSupport::TimeZone.iso8601にordinal valueを指定出来るよう修正しています。ordinal value:year:ydayを使用してTimeWithZoneインスタンスに変換されるようになっています。

twz = ActiveSupport::TimeZone["Eastern Time (US & Canada)"].iso8601("21087")
twz.to_a[0, 6] == [0, 0, 0, 28, 03, 2021]

Fix migration compatibility for default precision value on datetime columns (Round 2)

activerecord/lib/active_record/migration/compatibility.rbの修正です。

migrationのdatetime columnにデフォルトでprecision: 6を指定するようにした対応(Set precision 6 by default for datetime columnsで、古いバージョン(4.2 ~ 6.0)のmigrationファイルにも影響が出るようになってしまっていたのを修正しています。


ActiveRecord::Relation#destroy_all perform its work in batches

Active Recordの修正です。

Relation#destroy_allがrecordを1件ずつ削除していたのを、batch処理で削除出来るよう修正しています。デフォルトでは元の1件ずつ削除する挙動のままで、config.active_record.destroy_all_in_batchesにtrueを指定した場合、batch処理で削除するようになります。

合わせて、Relation#destroy_allの引数にbatch処理に関するオプション(batch_size等)を指定出来るようになっています。指定出来るオプションはActiveRecord::Batches#in_batchesと同じ内容です。


Adding docs link to ujs readme

actionview/app/assets/javascripts/README.mdの修正です。

data attributesについて説明している箇所に、https://github.com/rails/jquery-ujs/wiki へのリンクを追加しています。


Remove note for documentation changes to not run CI

rails guideのContributing to Ruby on Railsの修正です。

ドキュメントの修正の場合に[ci skip]をPRのタイトルに含むようにしてね、と説明されていた箇所を削除しています。ドキュメントの修正の場合もCIを実行する必要がある(spellcheckを実行する必要がある)為。


Merge pull request #42444 from OuYangJinTing/fix-ar-sanitization

activerecord/lib/active_record/sanitization.rbの修正です。

sanitize_sql_for_orderメソッドの引数にattributesでない値が指定された場合のエラーメッセージで、より詳細な説明を行うよう修正しています。