なるようになるブログ

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

rails commit log流し読み(2020/06/04)

2020/06/04分のコミットです。

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

activerecord/CHANGELOG.md


Don't call ruby2_keywords for user supplied block

activemodel/lib/active_model/type/registry.rbの修正です。

Type::Registry.registerメソッドでユーザが引数に指定したブロックを実行する際は、ruby2_keywordsを使用していないよう修正しています。


Merge pull request #39477 from p8/improve-inspect

独自に定義したinspectメソッドの先頭に#を指定するよう修正しています。Object#inspectの結果と合わせる為。


Promote clear_attribute_change as attribute methods

Active Recordの修正です。

clear_attribute_changeをattribute methodとして定義するよう修正しています。

increment! + aliased attributeが動作するようにする為、restore_attribute!は既にattribute methodとして定義されており他のattributeメソッとして定義を合わせる為、当の理由により修正しています。


Do not mark Postgresql MAC address and UUID attributes as changed when the assigned value only varies by case.

Active Recordの修正です。

PostgreSQLMac addressとUUID attributeについて、値の大文字小文字だけが変更された場合、値が変更されたとみなさないよう修正しています。


Avoid redundant to_s in internal attribute API

Active Recordの修正です。

attribute APIto_sメソッドの呼び出し回数を減らすよう修正しています。


Ensure alias resolved before clear_attribute_changes

Active Recordの修正です。

clear_attribute_changesの実行前に、必ずattribute aliasの定義が行われるよう修正しています。


remove redundant require: follow #39142

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

使用していないrequireを削除しています。


Link to current version of API docs [ci skip]

rails guideのAction View Overviewの修正です。

API docへのリンクからバージョン指定を削除し、現在表示しているdocが表示されるよう修正しています。


Revert "No need to synchronize for just reading an ivar, at least in MRI"

Responseクラスでインスタンス変数を参照する際にsynchronize排他制御を行っていたのをMRIでは排他制御を行わないよう修正した、No need to synchronize for just reading an ivar, at least in MRIをRevertしています。

違うsynchronize block内で変更される事があるインスタンス変数な為、synchronizeと指定が無いとスレッドアンセーフになってしまう為。


Revert "No need to synchronize for just reading an ivar, at least in MRI"

ConnectionPool::Queue#num_waitingメソッドでインスタンス変数を参照する際にsynchronize排他制御を行っていたのをMRIでは排他制御を行わないよう修正した、No need to synchronize for just reading an ivar, at least in MRIをRevertしています。

違うsynchronize block内で変更される事があるインスタンス変数な為、synchronizeと指定が無いとスレッドアンセーフになってしまう為。


Wording

activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rbのdocの修正です。

doc内のグラマーの修正を行っています。