2017/10/27分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
activemodel/CHANGELOG.md
Merge pull request #30674 from prognostikos/allow_procs_for_length_validator
activemodel/lib/active_model/validations/length.rb
の修正です。
length validatorのオプションに、Proc、及びSymbolを渡せるよう修正しています。
class Topic include ActiveModel::Validations attr_accessor :title, :foo validates :title, length: { maximum: ->(topic) { topic.max_length_for_title } } def max_length_for_title if foo 5 else 10 end end
これにより、上記のように、メソッドの結果をlenghtに指定出来るようになります。
activerecord/lib/active_record/associations/alias_tracker.rb
の修正です。
Associations::AliasTracker.initial_count_for
メソッドでjoin
がHashだった場合、かつ、値が取得出来なかった場合の対応を追加しています。
elsif join.is_a?(Hash) - join[name] + join.fetch(name, 0) else
元のコードだとnil
が返ってしまうのですが、nil
だと以降のコードでエラー(NoMethodError: undefined method +' for nil:NilClass
)が発生する可能性がある為、明示的に初期値を指定するよにしています。
activerecord/lib/active_record/reflection.rb
の修正です。
PolymorphicReflection
クラスでscope_for
メソッドをreflection
にdelegateするよう修正しています。delegateしておかないtscope_for
メソッドの呼び出しでエラーになってしまう為。
activerecord/test/cases/associations/has_many_through_associations_test.rb
の修正です。
through
をtrough
にタイポしていたのを修正しています。
activerecord/test/cases/associations/has_many_through_associations_test.rb
の修正です。
through
をtrough
にタイポしている箇所が他にもあったのを修正しています。
Remove CHANGELOG entry for PR #28681 [ci skip]
activerecord/CHANGELOG.md
の修正です。
Rails 5.1系にバックポートされている対応のエントリーを削除しています。