なるようになるブログ

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

rails commit log流し読み(2023/03/23)

2023/03/23分のコミットです。

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

activerecord/CHANGELOG.md


Mark RaiseWarnings as :nodoc:

activesupport/lib/active_support/testing/strict_warnings.rbのdocの修正です。

Rails内部で使用しているRaiseWarningsAPI docに表示されないよう修正しています。


Merge pull request #47702 from shouichi/class-cache-nodoc

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

Rails内部で使用しているActiveRecord::FixtureSet::ClassCacheAPI docに表示されないよう修正しています。


Merge pull request #47729 from Shopify/pm/cpk-where-syntax

Active Recordの修正です。

whereに新しいtuple記法を指定出来るよう修正しています。この記法では、カラム名や値をarrayを指定出来るようになっています。

# Cpk::Book #=> Cpk::Book(author_id: integer, number: integer, title: string, revision: integer)
# Cpk::Book.primary_key #=> ["author_id", "number"]
book = Cpk::Book.create!(author_id: 1, number: 1)
Cpk::Book.where(Cpk::Book.primary_key => [[1, 2]]) # => [book]

# Topic #=> Topic(id: integer, title: string, author_name: string...)
Topic.where([:title, :author_name] => [["The Alchemist", "Paul Coelho"], ["Harry Potter", "J.K Rowling"]])

Support composite primary keys during transaction rollback

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

composite primary keysを使用している場合に、transactionのrollackが実行された場合に元のstateへの復元が正しく行われてなかったのを修正しています。