なるようになるブログ

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

rails commit log流し読み(2021/02/13)

2021/02/13分のコミットです。

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

activesupport/CHANGELOG.md


Calculate the minimum/maximum from an enumerable's extracted elements

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

指定したkeyのmin / maxな値を取得する為のEnumerable#maximumEnumerable#minimum メソッドを追加しています。

payments = [Payment.new(5), Payment.new(15), Payment.new(10)]
payments.minimum(:price) # => 5
payments.maximum(:price) # => 20

Extract primary key constraints hash to a method.

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

primary keyのconstraints値の取得処理をメソッドに切り出しています。composite primary keysのサポート等、アプリ側で値を上書きしたいケースがある為。


Test #maximum and #minimum with empty enumerable

空のEnumerableでmaximumminを使用した場合のテストを追加しています。


Fix average on decimal and enum attributes

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

decimalとenum attributesについて、averageでtype cast処理を行わないよう修正しています。

precisionとscaleの値が変わってしまうのを避ける為、及び、enumについてはcastすると恐らくnilになってしまい、正しい結果が得られない為。


Improve documentation of Rails::Command.find_by_namespace [skip ci]

railties/lib/rails/command.rbのdocの修正です。

find_by_namespaceメソッドのdoc内のexampleコードで、実際には指定出来ない数の引数を指定していたのを修正しています。