なるようになるブログ

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

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

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

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

activerecord/CHANGELOG.md


Merge pull request #24202 from Sen-Zhang/fix_datetime_error

activerecord/lib/active_record/attribute_methods/time_zone_conversion.rbの修正です。

datetime型のカラムにparamsの値を使用した場合に、paramsに年の値しか無い場合に値の設定処理でNoMethodError(undefined method `in_time_zone')が発生してしまうバグがあったのを修正しています。


Merge pull request #26455 from kamipo/move_test_quoting_classes

activerecord/test/cases/connection_adapters/quoting_test.rbactiverecord/test/cases/quoting_test.rbの修正です。

classをquoteするテストが一つだけファイル(test/cases/connection_adapters/quoting_test.rb)に切り出されていたのを、他と合わせてtest/cases/quoting_test.rbでテストを行うよう修正しています。


Don't assign default attributes until after loading schema

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

ActiveRecord::Core#initializeでメソッドの先頭でattributesの設定を行っていたのを、schemaのload後に行うよう修正しています。

-      @attributes = self.class._default_attributes.deep_dup
       self.class.define_attribute_methods
+      @attributes = self.class._default_attributes.deep_dup

.define_attribute_methodsの呼び出しでschemaのloadが行われる、かつ、schemaのloadにより_default_attributesの値が変わる可能性がある為、との事。


Merge pull request #26536 from y-yagi/change_increment_and_decrement_to_public_api

activesupport/lib/active_support/cache/mem_cache_store.rbのdocの修正です。

MemCacheStore#incrementMemCacheStore#decrementから:nodoc:を削除しpublic APIにしています。

他のcache storeの#increment#decrementメソッドはpublic APIになっており、合わせる為。