なるようになるブログ

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

rails commit log流し読み(2018/12/18)

2018/12/18分のコミットです。

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

actionpack/CHANGELOG.md

railties/CHANGELOG.md


Merge pull request #34717 from tbuehlmann/controller-test-parsed-body

actionpack/lib/action_dispatch/testing/test_response.rbの修正です。

ActionController::TestCaseparsed_bodyメソッドを使用した場合に、結果が正しい値になっていなかった(メソッドは呼べるがリクエストがjsonの場合に結果がjsonにならない)のを、content typeに合わせたparse結果を返すよう修正しています。


Merge pull request #33145 from gsamokovarov/host-authorization

Action Pack、railtiesの修正です。

DNS Rebinding攻撃やHost header攻撃からの対策の仕組みとして、新規にActionDispatch::HostAuthorizationというmiddlewareを追加しています。

ActionDispatch::HostAuthorizationホワイトリストでホストを認証する為のmiddlewareで、リストにホストが登録されている場合、そのホスト以外へのリクエストはエラーになるようになっています。

デフォルトではdevelopment環境にのみ値(IPAddr.new("0.0.0.0/0")IPAddr.new("::/0")localhost)が指定されており、その他の環境では空(チェックが行われない状態)になっています。

ホストを追加したい場合は、Rails.application.config.hostsに値を指定する(e.g. Rails.application.config.hosts << "product.com")事が出来ます。


Fix doc formatting

actionview/lib/action_view/rendering.rbのdocの修正です。

ActionView::Rendering#view_contextメソッドのdoc内で、フォーマットが崩れてしまっている箇所があったのを修正しています。


Fix View.new method call with arguments syntax

actionview/lib/action_view/rendering.rbのdocの修正です。

ActionView::Rendering#view_contextメソッドのdoc内のexampleコードで、引数の指定方法に誤りがある箇所があったのを修正しています。


Add test case for ce48b5a366482d4b4c4c053e1e39e79d71987197

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

Prevent infinit method_missing loop on attribute methodsで対応された、validates_acceptance_of + undefine_attribute_methodsを使用した場合のテストを追加しています。


Allow nil params on controller HTTP test methods

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

Rails 5.1以降、getpost等のhttpシミュレーション用のメソッドのparams引数に、nilが指定出来なくなっていた(指定した場合NoMethodErrorが発生していた)のを、指定出来るよう修正しています。