なるようになるブログ

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

rails commit log流し読み(2021/04/07)

2021/04/07分のコミットです。

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

activerecord/CHANGELOG.md

activesupport/CHANGELOG.md


Merge pull request #41314 from etiennebarrie/fix-rake-test-db

railties/lib/rails/test_unit/testing.rakeの修正です。

test:dbtestではなく、development envで実行されてしまうバグがあったのを修正しています。


Fix build

activerecord/test/cases/validations/numericality_validation_test.rbの修正です。

BigDecimal 3.0.1でのFloatからDecimalに変換する際の挙動の変更のチェックを、Rubyのバージョンで行っていたのを、実際にBigDecimalを使用しての挙動でチェックするよう修正しています。


Delete orphan autoloading fixtures

Active Supportのテストの修正です。

使用していないautoloading用のfixtureを削除しています。


Remove FallbackFileSystemResolver

actionview/lib/action_view/lookup_context.rbactionview/lib/action_view/template/resolver.rbの修正です。

FallbackFileSystemResolverLookupContext#with_fallbacks、及び、LookupContext.fallbacksを削除しています。

render file:でview pathで定義されたpathの外側のファイルが指定された場合の為の機能だったのですが、左記の使いかたは現在出来なくなっており、不要になった為。


Deprecate legacy_connection_handling

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

legacy connection handlingを使用するのがdeprecateになりました。single DBを使用している場合恐らく影響が無いですが、multiple DBを使用している場合、connection handlingの変更によるAPIの変更がある為、新しいAPIを使用するよう修正が必要になります。詳細はGuide参照。


Merge pull request #41788 from pbstriker38/check_table_name_constraint_mariadb

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

MariaDBを使用している場合に、違うテーブルで定義した同名のcheck_constraintsも参照されてしまうバグがあったのを修正しています。


Merge pull request #41831 from Shopify/as-cache-clock-gettime

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

ActiveSupport::Cachewrite、及び、fetchメソッドに、cacheのTTLをabsolute timeで指定する為のexpires_atオプションを追加しています。

Rails.cache.write(key, value, expires_at: Time.now.at_end_of_hour)

Merge pull request #41789 from kamipo/update_cache_key_after_mutation

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

update_alldelete_alldestroy_all実行後に、@cache_keysをclearするよう修正しています。@cache_keysはRelationのデータに依存した値であり、データ変更後に同じ値なのはおかしいだろう、という事で。


Fix missing link in deprecation

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

deprecateになったlegacy_connection_handlingを使用した際に出力するメッセージ内に、Guideへのリンクを含むよう修正しています。


Simplify ActiveModel & ActiveRecord Type::Registry

Active Record、Active Modelの修正です。

ActiveRecord::Type::RegistryActiveModel::Type::Registryについて、不要な継承関係を削除、不要な処理の削除等のリファクタリングを行っています。