なるようになるブログ

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

rails commit log流し読み(2022/08/25)

2022/08/25分のコミットです。

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

railties/CHANGELOG.md


Use #to_hash to serialize AS::HWIA & Hash for stored attributes

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

stored attributesでnestしたActiveSupport::HashWithIndifferentAccessのオブジェクトが正しくserializeされないバグがあったのを修正しています。


Merge pull request #45882 from rails/short-inspect-on-test-case

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

ActiveSupport::TestCaseinspectメソッドを定義(実装はinstance_methodメソッドの出力)しています。元々はテスト対象のオブジェクトのinspect結果がそのまま出力されていたのですが、controllerのテストが失敗した場合にActionController::Baseinspectがそのまま出力される、かつ、左記クラスではインスタンス変数が大量にあり、それがそのまま表示されると大量のテキストが表示されてしまう(しかも特に失敗したテストの解決になるような情報ではない)、というような問題があった為、不要な情報が出力されるのを抑止する為にメソッドを定義するよう修正しています。


Extend dangerous attribute methods with dangerous methods from Object

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

attribute methodとして定義出来ない名前の一覧にObjectに定義されているメソッドを追加しています。


Fix RedisCacheStore#delete_entry interface

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

RedisCacheStore#delete_entryメソッドのinterfaceをCache#delete_entryと同じになるよう修正しています。


Extend routes --grep to also filter routes by matching against path

railties、Action Packの修正です。

routes --grepでpathによるfilterを出来るよう修正しています。

$ bin/rails routes --grep /cats/1
Prefix Verb   URI Pattern         Controller#Action
   cat GET    /cats/:id(.:format) cats#show
       PATCH  /cats/:id(.:format) cats#update
       PUT    /cats/:id(.:format) cats#update
       DELETE /cats/:id(.:format) cats#destroy