なるようになるブログ

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

rails commit log流し読み(2019/04/15)

2019/04/15分のコミットです。

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

railties/CHANGELOG.md

activerecord/CHANGELOG.md


Remove the Amazon SES ingress

Action Mailboxの修正です。

Action MailboxからAmazon SESのサポートを削除しています。

そもそもAmazon SESは色々問題があり正しく動作していなかったのですが、それらの修正がRails 6.0までに間に合わ無さそうとの事で、6.0ではそもそもサポートしない事になりました。6.1で再度対応する予定。


Merge pull request #35951 from dv/fix-redis-fetch-multi-without-names

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

redis cacheのfetch_multiに空の配列([])を指定した場合、Redis::CommandErrorになっていたのを、エラーにならず空の値を返すよう修正しています。

redis-store/redis-activesupportと挙動を合わせる為。


generate config.cache_classes = false if Spring

railties/lib/rails/generators/rails/app/templates/config/environments/test.rb.ttの修正です。

rails newで新規に作成したアプリケーションの、config/environments/test.rbconfig.cache_classesの値がtrueになっていたのを、Springを使用する場合はfalseにするよう修正しています(Springを使用しない場合はtrueのまま)。

config.cache_classesがtrueの場合、Springによるreloaderの実行が正しく動作しない為。


Refactor sync_with_transaction_state

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

sync_with_transaction_stateでstateを設定する際に、rollback / committed / completeを個別にifでチェックしていたのを、チェック処理をif / elseでまとめています。

transaction stateが複数存在する事は無い(rollbackの場合に他のstateになっている事は無い)為、個別にチェックする必要は無いため。


Fix broken AppGeneratorTest#test_spring_no_fork

railties/test/generators/app_generator_test.rbの修正です。

generate config.cache_classes = false if SpringでSpringのチェック処理が増えた事によりエラーになってしまうテストがあったのを修正しています。


make change_column_comment and change_table_comment invertible

change_table_commentchange_column_commentメソッドにtoオプション及びfromオプションを追加しています。両方のオプションが指定されている場合、これらのメソッドはreversibleになるようになっています。


Merge pull request #35967 from ryohashimoto/do_not_app_update_in_app_generator_test

railties/test/generators/app_generator_test.rbの修正です。

app:updateのテストで、app:update taskを直接実行していたのを、task内で使用しているクラス(Rails::Generators::AppGenerator)を使用するよう修正しています。

app:update task経由だと細かな挙動の制御が出来ない為。


Make test application the same state as app:update

railties/test/generators/app_generator_test.rbの修正です。

test_app_update_does_not_change_config_target_versionapp:updateを実行する為のapplicationを作成する際に、spring gemが含まれないようにしています。

app:update task実行時と同じ状態(springが指定されていない状態)にする為。この状態に差異があると、app:update実行時に、更新対象のファイルがコンフリしてしまい、結果でテストが応答無しになってしまうという問題がある為。


Correctly set application path in test_app_update_does_not_change_config_target_version

railties/test/generators/app_generator_test.rbの修正です。

先のtest_app_update_does_not_change_config_target_versionの修正の際、にテスト内のパス等々を修正するのが漏れていたのを対応しています。


Fix dirty tracking for touch

Active Recordの修正です。

touchで更新を行った場合、その更新内容が dirty trackingでtack出来ていなかったのを、正しく更新内容をtrackするよう修正しています。


Remove unused modules from StrongParameters

actionpack/lib/action_controller/metal/strong_parameters.rbの修正です。

StrongParametersから使用していないmoduleを削除しています。