なるようになるブログ

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

rails commit log流し読み(2018/08/16)

2018/08/16分のコミットです。

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

railties/CHANGELOG.md

activejob/CHANGELOG.md

activestorage/CHANGELOG.md

activerecord/CHANGELOG.md


Merge pull request #33605 from assain/purpose-metadata-changelog-and-tests

actionpack/CHANGELOG.mdactionpack/test/dispatch/cookies_test.rbの修正です。

Signed / Encrypted cookiesにpurpose metadataを指定出来るよう修正した、Purpose Metadata For Signed And Encrypted Cookiesの対応についてCHANGELOGにエントリーを追加、及び、テストから不要なfreeze_timeの呼び出しを削除しています。


Merge pull request #33559 from anniecodes/dev-task

railties/lib/rails/commands/dev/dev_command.rbrailties/lib/rails/tasks/dev.rakeの修正です。

rake taskとして実装されていたdev:cacherails commandとして実装しています。

これにより、rakeでの実行(rake dev:cache)はdeprecateになっています。


Merge pull request #33499 from lsylvester/caller-ignore-paths

Active Record、Active Supportの修正です。

Active Recordのverbose_query_logsで不要なbacktraceを表示する為の処理を独自に行っていたのを、ActiveSupport::BacktraceCleanerを使用するよう修正しています。


Allow perform_enqueued_jobs to be called without a block.

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

perform_enqueued_jobsメソッドをblockの指定無しで呼べるよう修正しています。blockの指定が無い場合、それまでにenqueueされた全てのjobを実行するようになっています。


Do not show deprecate task in the task list

railties/lib/rails/tasks/dev.rakeの修正です。

deprecateになったdev:cacheがタスクの一覧に表示されないようにしています。


Merge pull request #33627 from vbrazo/fixtures/fix-obsolete-methods

activesupport/test/core_ext/object/to_query_test.rbの修正です。

obsoletedになっているURI.decodeを使用している箇所があったのを修正しています。


Enable Lint/UriEscapeUnescape cop not to allow using obsolete methods in the future

.rubocop.ymlの修正です。

obsoletedになっているURIのメソッドが使用された場合に検知出来るよう、Lint/UriEscapeUnescape copを追加しています。


Extract ActiveStorage::SetCurrent

activestorage/app/controllers/active_storage/base_controller.rbactivestorage/app/controllers/concerns/active_storage/set_current.rbの修正です。

ActiveStorage::BaseControllerbefore_actionで行っていたActiveStorage::Current.hostへのrequest.base_urlの設定処理を、module(ActiveStorage::SetCurrent)に切り出しています。

ActiveStorage::BaseControllerを継承していないcontrollerでも使用出来るようにする為、との事です。


Add example perform_enqueued_jobs without block to api docs [ci skip]

activejob/lib/active_job/test_helper.rbのdocの修正です。

perform_enqueued_jobsメソッドのdocにperform_enqueued_jobsにblockを指定しない場合のexampleを追加しています。


Merge pull request #33603 from kamipo/fix_numericality_validator

activemodel/lib/active_model/validations/numericality.rbの修正です。

NumericalityValidator#validate_eachメソッドでvalueを取得する際に、read_attributeが定義されていればread_attributeからvalueを取得するよう修正しています。

[Parse raw value only when a value came from user in numericality validator(https://github.com/rails/rails/commit/fe9547b6fb60d92af181c8613166fa4322f8e307)から、xx_came_from_user?がfalseの場合、getterメソッドを使用してvalidatorに渡すvalueを取得するようになっていたのですが、それだとgetterメソッドをユーザがオーバーライドしている場合に問題になるケースがある(raw valueではなく、ユーザがカスタマイズしたvalueがvalidationに指定されてしまう)為、read_attributeを使用してvalueを取得するようにしています。


Merge pull request #33585 from yahonda/diag33520

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

SQLite3 adapterのalter_tableメソッド(schema変更処理で使用されるメソッド)で、schemaの変更を適用した新しいテーブルで元のforeign keysの情報が失われていたのを、リストアするよう修正しています。


Merge pull request #33576 from aried3r/patch-5

rails guideのDevelopment Dependencies Installの修正です。

shell commandsの実行例の先頭に$を追加しています。