なるようになるブログ

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

rails commit log流し読み(2020/02/10)

2020/02/10分のコミットです。

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

railties/CHANGELOG.md

actionview/CHANGELOG.md

activesupport/CHANGELOG.md


Merge pull request #38410 from jonathanhefner/plugin-deobfuscate-rake-version-error

railties/lib/rails/generators/rails/plugin/templates/Rakefile.ttの修正です。

bundler/setupのrequireでLoadErrorになった際にメッセージを表示するようにしていた処理を削除しています。

bundler自体でより適切なエラーメッセージを表示するようになっている為。


Group requires together

railties/lib/rails/generators/rails/plugin/templates/Rakefile.ttの修正です。

require間の空行を削除しています。


Remove SameSite=None restrictions for Rack 2.1.0

actionpack/lib/action_dispatch/middleware/cookies.rbの修正です。

same_siteオプションに:noneが指定された場合に強制的にsame_siteの指定を削除するようにしていた処理を削除しています。

Rack 2.1.0がリリースされた + Rack側で必要な処理が行われるようになっており、Rails側での処理が不要になった為。


Anchor generated plugin .gitgnore entries

railties/lib/rails/generators/rails/plugin/templates/gitignore.ttの修正です。

plugin generatorで生成する.gitignoreの各行の先頭に/の指定を追加しています。


Update git init when generating plugins

railties/lib/rails/generators/rails/plugin/plugin_generator.rbの修正です。

pluginを生成する際にapplicationと同様にgit initを実行するよう修正しています。


Fix translate method with default: nil

actionview/lib/action_view/helpers/translation_helper.rbの修正です。

ActionView::Helpers::TranslationHelper#translateメッセージのdefaultオプションにnilを指定した場合に、translationが見つからなかった場合にnilが使われない(translation missingエラーが発生してしまう)バグがあったのを修正しています。


Merge pull request #37516 from jonathanhefner/generator-generate-avoid-shell-out

railties/lib/rails/generators/actions.rbの修正です。

generateで処理を実行する際にrails exe経由で処理を実行していたのを、直接Rails::Command.invokeを実行するよう修正しています。rails経由だと処理が遅い、エラーになった際に詳細がわかりづらい、等の問題がある為。


Fix wrong spec asserting headers maintain original definition

actionpack/test/dispatch/ssl_test.rbの修正です。

テスト用にConnectionヘッダーを指定する際に値をArrayとして指定していたのを、Stringとして指定するよう修正しています。

そもそもArrayで指定するのが誤っている、かつ、Rack 2.2.1からArrayで指定した場合にresponse.headersの値もそのままArrayで返ってくるようになってしまい、その影響でテストがコケるようになってしまった為。


Touch updated_at when upsert_all modifies a record

Active Recordの修正です。

upsert_allで実際に値の更新が行われた際に、updated_atの値も更新されるよう修正しています。


Skip cookie comma separation test

actionpack/test/dispatch/request_test.rbの修正です。

Rack 2.2.1でcookieの値のデリミタとして;のみが使えるようになっており、その影響でコケてしまったテスト(デリミタに,を使用していた)があったのを削除しています。

このRack側の対応が今度どう対応されるかにせよ、Rails側でそこまで厳密なテストをする必要は無いだろう、という事で削除されています。

参考: Update cookie parser to only accept ; as delimiter.


Merge pull request #37174

activesupport/lib/active_support/concern.rbactivesupport/lib/active_support/core_ext/module/concerning.rbの修正です。

ActiveSupport::Concernprependをサポートするよう対応しています。

includedと同様に、prependした際に実行される処理をprependedで定義出来るようになっています。


Merge pull request #37988 from abhaynikam/37823-change-action-mailbox-installer-to-generator

Action Mailboxの修正です。

plainなRubyで実装されていたAction Mailboxのインストール処理をgeneratorの仕組みを使用して実装するよう修正しています。


Give us some space please

activesupport/test/core_ext/module/concerning_test.rbの修正です。

rubocopの設定に違反している箇所があったのを修正しています


Merge pull request #38067

各箇所で行われていたYAMLのread + ERBとしてのパース処理を、クラス(ActiveSupport::ConfigurationFile)に切り出して、各箇所で左記クラスを使用するよう修正しています。