なるようになるブログ

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

rails commit log流し読み(2023/03/15)

2023/03/15分のコミットです。

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

activerecord/CHANGELOG.md

railties/CHANGELOG.md


Pass self directly to connection_class

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

establish_connectionに渡すclassをresolve_config_for_connection経由で取得した値を使用していたのを、selfを使用するよう修正しています。古い振る舞いの為の処理で、現在はresolve_config_for_connection経由で値を取得する必要が無くなった為。


Update link to the security announcements list

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

security announcementを行う先のリンク先について、現在使われていないmailing listを削除し、代わりに https://discuss.rubyonrails.org/c/security-announcements/9 を追加しています。


add nodoc to valid*options methods

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

通常のRailsアプリケーションで使う想定ではないメソッドに:nodoc:の指定を追加しています。


Fix Rake-style task arguments for bin/rails

railties/lib/rails/commands/rake/rake_command.rbの修正です。

bin/railsコマンド経由で[]フォーマットを使用したRake taskの引数(e.g. foo[bar])を指定出来るよう修正しています。


Merge pull request #47663 from p8/railties/remove-unused-command-requires-in-tests

railtiesのテストから、使用していないrequireを削除しています。


Merge pull request #47655 from alpaca-tc/deferrable_exclusion_constraint

Active Recordの修正です。

PostgreSQLのexclude constraintsのmode(IMMEDIATEまたはDEFERRED)を引数で指定出来るよう修正しています。modeはdeferredオプションで値を指定出来るようになっています。

exclusion_constraint :users, "daterange(valid_from, valid_to) WITH &&", deferrable: :deferred

Fix rubygems version mentioned in CHANGELOG

railties/CHANGELOG.mdの修正です。

prerelease RubyをGemfile templateで使用出来るRubyGemsのバージョンの指定が誤っていたのを修正しています。


Merge pull request #47649 from fatkodima/retry-flaky-secure_password-test

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

処理の実行時間に依存する不安定テストについて、テスト失敗時にretryするよう修正しています。


Remove redundant require: follow #10776

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

不要なrequireを削除しています。


Revert "Quote binary strings in Arel"

Arelでbinary stringのquoteを行うようにした、Quote binary strings in ArelをRevertしています。

quoteする事により解釈が違う値に変換されてしまう事があり、非互換な処理になってしまう為、のようです。


Use Thor for built-in restart task

railtiesの修正です。

restartコマンドを実装するのにrake taskを使用していたのを、Thorを使用するよう修正しています。これにより、application directoryの外からでもrestartコマンドが実行出来るようになっています。


Merge PR #47675

Active Recordの修正です。

テストで使用するfixtureのpathが1つしか指定出来なかったのを、複数指定出来るよう修正しています。

ActiveSupport::TestCase.fixture_paths << "component1/test/fixtures"
ActiveSupport::TestCase.fixture_paths << "component2/test/fixtures"

合わせて、元々fixtureのpathを設定する為のattributeであるActiveSupport::TestCase.fixture_path/ActiveSupport::TestCase.fixture_path=はdeprecateになっています。


Merge pull request #47668 from Shopify/pm/destroy-async-composite-keys

Active Recordの修正です。

associationのdestroy asyncの処理でcomposite primary keyを使用出来るよう修正しています。


Merge pull request #47664 from Shopify/support-composite-identifier-in-find

activerecord/lib/active_record/attribute_methods/primary_key.rbactiverecord/lib/active_record/relation/finder_methods.rbの修正です。

ActiveRecord::FinderMethods#findにcomposite primary keyを使用出来るよう修正しています。