なるようになるブログ

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

rails commit log流し読み(2020/12/19)

2020/12/19分のコミットです。

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

activerecord/CHANGELOG.md

activesupport/CHANGELOG.md


Load most recent version of Bundler in bin/spring

railties/lib/rails/generators/rails/app/templates/bin/spring.ttの修正です。

bin/springで最新のbundlerが使用されるよう修正しています。


Merge pull request #40256 from vinistock/save_allocations_in_digest

actionview/lib/action_view/digestor.rbの修正です。

Action Viewのdigest処理でcompactの代わりにcompact!を使用してオブジェクト生成数を減らすよう修正しています。


Merge pull request #40877 from PhilCoggins/destroy_async_documentation_update

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

destroy_asyncオプションについて説明している箇所に、foreign key constraintsが指定されている場合の注意点についての説明を追加しています。


Fix SELECT COUNT queries when rendering ActiveRecord collections (#40870)

actionview/lib/action_view/renderer/collection_renderer.rbの修正です。

Active Recordのcollectionをrenderする際に、relationがロード済みの場合lengthメソッドを使用してSQLが実行されないよう修正しています。


Expose an invert_where method that will invert all scope conditions.

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

scopeの条件を反転するinvert_whereメソッドを追加しています。

class User
  scope :active, -> { where(accepted: true, locked: false) }
end

User.active
# => ... WHERE `accepted` = 1 AND `locked` = 0

User.active.invert_where
# => ... WHERE NOT (`accepted` = 1 AND `locked` = 0)

Merge pull request #40876 from fsateler/performance/type-map-initialize

activerecord/lib/active_record/connection_adapters/postgresql/oid/type_map_initializer.rbactiverecord/lib/active_record/connection_adapters/postgresql_adapter.rbの修正です。

type mapを取得する為のqueryについて、indexが効くようqueryを修正、及び、不要なrowsを取得しないよう修正しています。


Merge pull request #39763 from ritikesh/dalli_cache_nils

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

cacheにMemCacheStoreを使用している場合、cache_nilsが指定された場合、値をそのままdalliのskip_nilオプションに渡すよう修正しています。


Merge pull request #40865

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

delegated_typeで使用するprimary_key / `foreign_keyをオプションで指定出来るよう修正しています。


Merge pull request #40878 from connorshea/activestorage-public-access-docs

rails guideのActive Storage Overviewの修正です。

Public accessの項に、既にアップロード済みのファイルについては、個別にアップデートする必要がある旨説明を追加しています。


Make sure that mailers will use default job queue

actionmailer/lib/action_mailer/test_helper.rbの修正です。

assert_enqueued_email_withのデフォルトのqueue名がmailersになっていたのを、defaultに修正しています。jobのデフォルトのqueue名と合わせる為。


Fixes #40218 clarify different types of initializers (#40864)

rails guideのThe Rails Initialization Processの修正です。

Railtie initializers と config initializersの違いついての説明を追加しています。


Merge pull request #40780 from mikker/mikker-assert-nothing-raised-fix

activejob/lib/active_job/test_helper.rbの修正です。

ActiveSupport::Testing::Assertionsをincludeするよう修正しています。テスト内でassert_nothing_raisedを使用している為。