なるようになるブログ

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

rails commit log流し読み(2016/11/12)

2016/11/12分のコミットです。

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

actionpack/CHANGELOG.md


Refactor column initialization into new_column_from_field

Active Recordの修正です。

各adapterで、columnの初期化処理をnew_column_from_fieldで行うようリファクタリングしています。重複していたループ処理の削減と、SHOW FULL FIELDSの結果を元に手動でカラムを作れるようにする為、との事です。


adds support for arbitrary hashes in strong parameters

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

strong parametersで、任意の値のpermitを出来るよう対応しています。

# `preferences`がkeyになってる全ての値ががpermitされる
params.permit(preferences: {})

adds a missing dot [ci skip]

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

ActionController::Parameters#hash_filterメソッド内のコメントにドットを追加しています。


better docs for ActionView::ViewPaths#prepend_view_path

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

ActionView::ViewPaths#append_view_pathメソッド及びActionView::ViewPaths#prepend_view_pathメソッドにdocを追加しています。


Add :nodoc to table_structure

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

内部用であるtable_structureメソッドに:nodoc:を設定、及び重複していたcolumnsメソッドを削除しています。


significant speedup of AC::Parameters#permit

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

ActionController::Parameters#permitで処理の最後に#permit!を呼び出していたのをやめて、#permitメソッドの中でpermit済みかどうか判定する為の変数(@permitted)にtrueを設定するよう対応、及びparametersの中にParametersクラスのインスタンスがあった場合のpermit処理(#permit_any_in_parameters)で@permittedにtrueを設定するよう修正しています。

#permit!メソッドではparametersの値に対して再帰的に#permit!を呼び出して、最後に@permittedにtrueを設定するようにしています。そのため、parametersの数分ループを回す必要があるので、ループ処理が行われるのを避ける為に、#permit!を使うのではなく#permitの中で@permittedに値を設定するようにしたようです。