2015/11/08分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
Ensure #reset_column_information
clears child classes as well
activerecord/lib/active_record/model_schema.rb
の修正です。
reset_column_information
メソッドが、子クラスで正しく動作しないバグがあったのを修正しています。
class Animal < ActiveRecord::Base end class Bird < Animal end
上のようなクラス構成だった場合に、Animal
にカラムを追加、及びreset_column_information
を呼び出した場合に、Bird
クラスで追加されたカラムが使用出来ない、という問題が発生していたいました。
activerecord/test/cases/persistence_test.rb
の修正です。
先のreset_column_information
の対応で追加したテストがコケてしまっていたのを修正しています。テストで一時的にカラムを追加した後で、カラムの情報をresetするのが漏れていたので、処理を追加しています。
Merge pull request #21806 from kachick/fix-transformer-size
activesupport/lib/active_support/core_ext/hash/keys.rb
、
activesupport/lib/active_support/core_ext/hash/transform_values.rb
の修正です。
Hash#transform_values
、Hash#transform_values!
、Hash#transform_keys
、Hash#transform_keys!
メソッドでEnumeratorのsizeを返すよう修正しています。
# before { a: 'a', b: 'b' }.transform_values.size # => nil # after { a: 'a', b: 'b' }.transform_values.size # => 2
do not override fetch on local cache
activesupport/lib/active_support/cache/strategy/local_cache.rb
の修正です。
cache nil replies from backend cache so misses are fast too by grosser · Pull Request #22194 · rails/rails でLocalStore#fetch
メソッドを追加したのですが、
local cacheにfetch
メソッドがあると本来の挙動が変わってしまうという事で、LocalStore#fetch
メソッドを削除し、代わりにLocalStore#fetch_entry
メソッドを追加し、そちらを使用するよう修正しています。
docs, ActiveRecord::TypeCaster
is not part of the public API.
activerecord/lib/active_record/type_caster.rb
、
activerecord/lib/active_record/type_caster/connection.rb
、
activerecord/lib/active_record/type_caster/map.rb
のdocの修正です。
TypeCaster
module、及びその配下のクラスに:nodoc:
を設定しています。
docs, ActiveRecord::JoinDependency
is not part of the public API.
activerecord/lib/active_record/associations/join_dependency.rb
のdocの修正です。
ActiveRecord::JoinDependency::Table
クラスに:nodoc:
を設定しています。
docs, nodoc EnumType
. [ci skip]
activerecord/lib/active_record/enum.rb
のdocの修正です。
ActiveRecord::Enum::EnumType
クラスに:nodoc:
を設定しています。
docs, get rid of artifact in RecordFetchWarning
docs.
ActiveRecord::Relation::RecordFetchWarning
module内の、ActiveSupport::Notifications.subscribe
メソッドを呼び出している箇所に:stopdoc:
を設定しています。
メソッド配下では無く、module配下でメソッドを呼び出している為、:stopdoc:
を設定してないと、ActiveRecord::Relation::RecordFetchWarning::ActiveSupport
というdocが生成されてしまい、それを防ぐ為、との事です。
activerecord/lib/active_record/associations/builder/belongs_to.rb
の修正です。
ActiveRecord::Associations::Builder::BelongsTo.add_destroy_callbacks
メソッドから、使用していないname
変数を削除しています。
fix application_controller require_dependency path generated by api scaffold generator
railties/lib/rails/generators/rails/scaffold_controller/templates/api_controller.rb
の修正です。
apiのscaffold generatorで、namespace付きのcontrollerを生成する際に、namespaceに関わらず必ず同じapplication_controller
を読み込むよう修正しています。
Rails APPのgeneratorが元々その挙動になっており(Fixed the application_controller require_dependency path generated by… · rails/rails@686966a)、挙動を合わせる為修正しています。
Improve support for non Active Record objects on validates_associated
activerecord/lib/active_record/validations/associated.rb
の修正です。
AssociatedValidator
のvalidate処理で、marked_for_destruction?
メソッドを呼び出す前に、respond_to?
でメソッドが定義されているかどうかをチェックするよう修正しています。
associationsに、Active RecordのobjectではなくActive Model等のobjectを使用した場合に、marked_for_destruction?
メソッドを定義しないでも処理が通るようにする為に、処理を追加したようです。