なるようになるブログ

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

rails commit log流し読み(2015/07/22)

2015/07/22分のコミットです。

CHANGELOGへの追加はありませんでした。


fix rails tests

activerecord/test/models/topic.rbの修正です。

Correctly ignore mark_for_destruction without autosave · rails/rails@c0ef95a の対応で追加したテストのモデルにautosave: trueオプションを付け忘れていた為にテストがコケてしまっていたので、オプションを適切に設定しています。


rearrange logic to use positive branches

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

Parameters#convert_value_to_parametersメソッドの条件分岐を整理して、不要なis_a?チェックを削除しています。


drop conditionals in conversion logic

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

Parameters#convert_hashes_to_parametersメソッドの引数から、assignemt flagを削除しています。

引数のvalueがassign済みかどうかの判定を行う為のフラグだったのですが、assign済みでは無い場合、そもそも別のメソッド(convert_value_to_parameters)が呼ぶのが正しく、convert_hashes_to_parametersメソッドでその点を意識する必要は無い為、削除されたようです。


recurse for arrays in normalize_encode_params

actionpack/lib/action_dispatch/http/parameters.rbの修正です。

Parameters#normalize_encode_paramsメソッドで、引数のparamsがArrayだった場合の処理がHashだった場合の処理に混ざってしまっていたので、明確に処理を別けるよう修正しています。


stop keeping track of keys when "deep munging"

actionpack/lib/action_dispatch/request/utils.rbの修正です。

Utils.deep_mungeメソッドの引数からkeysを削除しています。


push param encoding in to the utils module

actionpack/lib/action_dispatch/http/parameters.rbactionpack/lib/action_dispatch/request/utils.rbの修正です。

Http::Parameters module配下にあったparamsのencoding処理を、Request::Utils配下に移動しています。

Utils.deep_mungeメソッドを削除し、deep_mungeメソッドの代わりに使用する為に移動したようです。


rm deep_munge. You will live on in our hearts (and git history)

ActionPackの修正です。

という訳で、先のコミットによりparams encode用のメソッドが別途用意されたので、不要になったUtils.deep_mungeメソッドを削除しています。

deep_mungeを削除しようと、という話は割と前からissueにあった(Let's fix deep_munge <3 <3 <3 · Issue #13420 · rails/rails)ので、ようやく対応が完了した感じですかねえ。