なるようになるブログ

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

rails commit log流し読み(2018/02/10)

2018/02/10分のコミットです。

CHANGELOGへの追加はありませんでした。


Add Relation#pick as short-hand for single-value plucks (#31941)

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

ActiveRecord::Calculationsに値をsingle-valueを取得する為のpickメソッドを追加しています。pluck同様、record objectは生成せず、値だけを取得します。ようはrelation.limit(1).pluck(*column_names).firstショートハンド。

Person.where(id: 1).pick(:name)
# SELECT people.name FROM people WHERE id = 1 LIMIT 1
# => 'David'

Person.where(id: 1).pick(:name, :email_address)
# SELECT people.name, people.email_address FROM people WHERE id = 1 LIMIT 1
# => [ 'David', 'david@loudthinking.com' ]

Make sure assert_recognizes can still find routes mounted after engines

actionpack/lib/action_dispatch/routing/route_set.rbの修正です。

assert_recognizesメソッドがengineをmountした後のrouteで正しく動作しないバグがあったのを修正しています。


Fix formatting of pick [ci skip]

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

pickメソッドのdocのフォーマットの修正を行っています。


Remove warning from 4 years ago [ci skip]

railties/lib/rails/generators/rails/app/templates/config/environments/production.rb.ttの修正です。

config.assets.precompileconfig.assets.versionconfig/initializers/assets.rbに移動して旨説明していた行を削除しています。

この行が追加されたのはRails 4.2で、もうこの説明もいらないだろう、という理由で削除されています。