2016/08/02分のコミットです。
CHANGELOGへの追加はありませんでした。
Merge pull request #25986 from kamipo/remove_unnecessary_methods_for_null_relation
activerecord/lib/active_record/null_relation.rb
の修正です。
ActiveRecord::NullRelation
moduleから不要なメソッドを削除しています。
Make Parameters support legacy YAML encodings.
actionpack/lib/action_controller/metal/strong_parameters.rb
の修正です。
Rails 5でActionController::Parameter
の親クラスが変わった事及びインスタンス変数が変わった事により、Rails 4でActionController::Parameter
をyamlにdumpしたデータをRails 5に読み込んだ際に、正しくActionController::Parameter
として扱われない問題があったのを修正しています。
YAML.load_tags
を指定、及びinit_with
メソッドを追加しインスタンス変数の変換処理を追加し対応しています。
Remove unnecessary set_inverse_instance
in finder methods
activerecord/lib/active_record/associations/collection_association.rb
の修正です。
finder method(find
、last
、take
等)でrecordに対してset_inverse_instance
メソッドを呼び出していたのを、削除しています。
methodの中ではAssociationRelation
に対して処理を行っているのですが、AssociationRelation
クラスの中でset_inverse_instance
を呼び出しており、ここで個別に呼ぶ必要は無い為。
Let Psych 2.0.9+ deserialize 2.0.8 serialized parameters.
actionpack/lib/action_controller/metal/strong_parameters.rb
の修正です。
YAML.load_tags
のkey名を修正、及びinit_with
メソッドでのパラメータチェック処理を修正しています。
- else + elsif coder.map['parameters'] # YAML's Object format. Only needed because of the format # backwardscompability above, otherwise equivalent to YAML's initialization. @parameters, @permitted = coder.map['parameters'], coder.map['permitted'] + else + # YAML 2.0.8's format where hash instance variables weren't stored. + @parameters = coder.map.with_indifferent_access + @permitted = false
Psych 2.0.8と2.0.9以降で値の持ち方が違う(2.0.8まではインスタンス変数を保持していない)為、それぞれの場合で対応出来るようにしたとの事です。
Replace implicit formats with a case statement.
actionpack/lib/action_controller/metal/strong_parameters.rb
の修正です。
条件分岐にif/else
を使用していたのを、case/when
を使用するよう修正しています。
Move the YAML hook closer to init_with
.
actionpack/lib/action_controller/metal/strong_parameters.rb
の修正です。
YAML.load_tags
の値の指定をinit_with
メソッドの近くに移動、及び処理をメソッドに移動しています。
Set always_permitted_parameters
.
actionpack/test/controller/parameters/serialization_test.rb
の修正です。
テストの前処理で必ずActionController::Parameters.always_permitted_parameters
にtrueを指定するよう修正しています。
actionpack/test/controller/parameters/serialization_test.rb
の修正です。
先のコミットでActionController::Parameters.always_permitted_parameters
にtrueを指定するよう修正していますが、テストの内容的にActionController::Parameters.always_permitted_parameters
ではなく、ActionController::Parameters.permit_all_parameters
に値をしているのが但しかったので、値を指定するパラメータを修正しています。