なるようになるブログ

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

rails commit log流し読み(2019/01/25)

2019/01/25分のコミットです。

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

railties/CHANGELOG.md

actioncable/CHANGELOG.md


Prefer ImageProcessing's resize_to_limit macro over resize_to_fit

Active Storageの修正です。

Active Storageの画像を表示する処理のexampleで、リサイズにresize_to_fit macroを使用していたのを、resize_to_limit macroを使用するよう修正しています。

画像が指定したサイズより小さい場合にリサイズ処理が実行されないようにする為。


Fix deeply nested namespace command printing

railties/lib/rails/command/base.rbの修正です。

command classのnamespaceが3階層以上(e.g. Command::Db::System::ChangeCommand)ある場合に、そのコマンドのヘルプが正しく表示されていなかったのを修正しています。


Make And and Case into expression nodes

activerecord/lib/arel/nodes/and.rbactiverecord/lib/arel/nodes/case.rbの修正です。

Arel::Nodes::AndArel::Nodes::Caseの親クラスをNodeExpressionに変更しています。

AndCase nodeでaliasing、predications等の機能を使えるようにする為。


Prefer strings over regex expressions

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

debug exceptionのテストでpathを一致させるのにRegexpを使用していたのを、Stringを使用するよう修正しています。

Regexpだと、例えば/not_found_original_exceptionというpathに対してのテストを行う場合に、%r{/not_found_original_exception}だけでなく%r{/not_found}`の分岐チェックでも引っかかってしまう、という問題があった為。


Merge pull request #35045 from paracycle/uk-fix-partial-renderer

actionview/lib/action_view/renderer/partial_renderer.rbの修正です。

partial rendererでlocalsオプションの値をsymbolize_keysメソッドで変換していたのを、変換しないよう修正しています。

localssymbolize_keysメソッドが定義されていない Hash-likeのobject(e.g. ActionController::Parameters)を指定した場合にエラーになってしまうのを避ける為。


Merge pull request #35021 from palkan/refactor/broadcasting-for-testing

Action Cableの修正です。

unique stream identifierを作成する為のChannel::Base.broadcasting_forをpublic APIに変更、及び、Channel::Basebroadcast_toメソッドを追加しています。

broadcast_toメソッドはchannel actionの中でbroadcastを出来るようにする為で、どちらもテストで使用出来るようにする為に対応されています。


Merge pull request #34994 from schuetzm/host-authorization-only-in-development

actionpack/lib/action_dispatch/middleware/templates/rescues/blocked_host.html.erbactionpack/lib/action_dispatch/middleware/templates/rescues/blocked_host.text.erbの修正です。

host authorizationでエラーになった際に表示するテンプレートで、エラーになったdomainのwhitelistへの追加を全ての環境で行うようサジェストしていたのを、現在のenvのconfigにのみ追加するよう修正しています。

例えばdevelopment envで問題になった場合に、問題になったdomainをproduction envでもwhitelistに追加する必要は(多くの場合)無いはずの為。


Merge pull request #34789 from christos/fix-editing-new-environment-credentials

railties/lib/rails/command/actions.rbrailties/lib/rails/commands/credentials/credentials_command.rbの修正です。

credentialsのedit / show commandを実行する際に、environmentについてはロードしないよう修正しています。initializerでまだ存在しないcredentialの値を使用しようとしてエラーになってしまうのを避ける為。


Fix typo in ActionCable::Connection::TestCase reference

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

ActionCableAcionCableにタイポしている箇所があったのを修正しています。