なるようになるブログ

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

rails commit log流し読み(2021/04/11)

2021/04/11分のコミットです。

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


Merge pull request #41882 from Shopify/local-store-dup-value

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

LocalCacheについて、Marshal.dumpの呼び出し回数を減らすようリファクタリングしています。


Fix grammar mistakes [ci skip]

railties/RDOC_MAIN.rdocrailties/README.rdocの修正です。

docの各箇所のグラマーの修正を行っています。


Merge pull request #41901 from Shopify/cache-base-class

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

Inheritance.base_classをメソッド実行時に値の計算を行っていたのを、module include時に処理を行うよう修正しています。


Stop checking if ruby2_keywords is defined

ruby2_keywordsを使用する際に、ruby2_keywordsが定義済みかどうかをチェックしていたのを、チェックしないよう修正しています。mainではRuby 2.7以上のみをサポートしており、ruby2_keywordsは必ず使用出来る為。


chore: fix spelling in actionpack/CHANGELOG.md

actionpack/CHANGELOG.mdの修正です。

accessibilityaccessibiltyにタイポしていたのを修正しています。


Fix spelling in ActionText::FixtureSet.attachment docs [ci skip]

actiontext/lib/action_text/fixture_set.rbのdocの修正です。

ActionText::FixtureSet.attachmentメソッドのdoc内のexampleコードで、articlesartclesにタイポしていたのを修正しています。

rails commit log流し読み(2021/04/10)

2021/04/10分のコミットです。

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

actionpack/CHANGELOG.md


Merge pull request #41874 from jacobherrington/error-page-css-and-a11y-improvements

Action Packの修正です。

デフォルトのエラーテンプレートでinline styleを使用しないよう修正、及び、アクセシビリティの改善としてrole attributeの指定やcssの調整を行っています。


Clear @cache_keys cache even when eager loading

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

eager loading実行時にも@cache_keysをclearするよう修正しています。

rails commit log流し読み(2021/04/09)

2021/04/09分のコミットです。

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


Merge pull request #41825 from rails/refactor-scope-registry

Active Recordの修正です。

scopeのregistry処理について、Thread.currentの呼び出し回数を減らすようリファクタリングしています。


Add more methods to NullPool

activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rbの修正です。

NullPoolクラスに各種メソッドを追加しています。テストでNullPoolを使用した際にエラーになるのを避ける為。


Add example of params to button_to docs [ci skip]

actionview/lib/action_view/helpers/url_helper.rbのdocの修正です。

button_toメソッドのdoc内にあるexampleコードの実行結果ににauthenticity_tokenを追加しています。


Encryption guide copy fixes [ci skip]

rails guieのActive Record Encryptionの修正です。

各箇所の言い回し、フォーマットの修正を行っています。


Merge pull request #41845 from jhawthorn/template_suggestions

Action Viewの修正です。

MissingTemplateエラーが発生した際に、DidYouMeanを使ってtemplateのサジェスチョンを表示するよう修正しています。


Fix user-defined self.default_scope to respect table alias

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

modelでself.default_scopeを定義した場合に、table aliasの指定が無視されてしまうバグがあったのを修正しています。

rails commit log流し読み(2021/04/08)

2021/04/08分のコミットです。

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


Use YAML.load_tags/dump_tags to prevent deprecation warnings

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

ActiveSupport::TimeWithZone.nameメソッドをdeprecateにした、Deprecate ActiveSupport::TimeWithZone.nameの対応の影響で、ActiveSupport::TimeWithZoneインスタンスyamlにdump / loadした際にもdeprecateメッセージが表示されてしまっていたのを、dump / load処理ではdeprecateメッセージが表示されないよう修正しています。


Directly delegate constantize to Object.const_get

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

constantizeメソッドの実装をObject.const_getを呼び出すだけに修正しています。classic autoloaderのサポートが削除され、定数の参照処理が、Ruby本体の定数参照処理と一致するようになった為。


SecureRandom.urlsafe_base64 doesn't have padding: false keyword argument

actionpack/lib/action_controller/metal/request_forgery_protection.rbの修正です。

SecureRandom.urlsafe_base64メソッドに不要な引数の指定を行っていたのを削除しています。


Make sure Inflector.underscore returns a String

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

Inflector.underscoreの戻り値が必ずStringになるよう修正しています。

rails commit log流し読み(2021/04/07)

2021/04/07分のコミットです。

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

activerecord/CHANGELOG.md

activesupport/CHANGELOG.md


Merge pull request #41314 from etiennebarrie/fix-rake-test-db

railties/lib/rails/test_unit/testing.rakeの修正です。

test:dbtestではなく、development envで実行されてしまうバグがあったのを修正しています。


Fix build

activerecord/test/cases/validations/numericality_validation_test.rbの修正です。

BigDecimal 3.0.1でのFloatからDecimalに変換する際の挙動の変更のチェックを、Rubyのバージョンで行っていたのを、実際にBigDecimalを使用しての挙動でチェックするよう修正しています。


Delete orphan autoloading fixtures

Active Supportのテストの修正です。

使用していないautoloading用のfixtureを削除しています。


Remove FallbackFileSystemResolver

actionview/lib/action_view/lookup_context.rbactionview/lib/action_view/template/resolver.rbの修正です。

FallbackFileSystemResolverLookupContext#with_fallbacks、及び、LookupContext.fallbacksを削除しています。

render file:でview pathで定義されたpathの外側のファイルが指定された場合の為の機能だったのですが、左記の使いかたは現在出来なくなっており、不要になった為。


Deprecate legacy_connection_handling

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

legacy connection handlingを使用するのがdeprecateになりました。single DBを使用している場合恐らく影響が無いですが、multiple DBを使用している場合、connection handlingの変更によるAPIの変更がある為、新しいAPIを使用するよう修正が必要になります。詳細はGuide参照。


Merge pull request #41788 from pbstriker38/check_table_name_constraint_mariadb

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

MariaDBを使用している場合に、違うテーブルで定義した同名のcheck_constraintsも参照されてしまうバグがあったのを修正しています。


Merge pull request #41831 from Shopify/as-cache-clock-gettime

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

ActiveSupport::Cachewrite、及び、fetchメソッドに、cacheのTTLをabsolute timeで指定する為のexpires_atオプションを追加しています。

Rails.cache.write(key, value, expires_at: Time.now.at_end_of_hour)

Merge pull request #41789 from kamipo/update_cache_key_after_mutation

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

update_alldelete_alldestroy_all実行後に、@cache_keysをclearするよう修正しています。@cache_keysはRelationのデータに依存した値であり、データ変更後に同じ値なのはおかしいだろう、という事で。


Fix missing link in deprecation

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

deprecateになったlegacy_connection_handlingを使用した際に出力するメッセージ内に、Guideへのリンクを含むよう修正しています。


Simplify ActiveModel & ActiveRecord Type::Registry

Active Record、Active Modelの修正です。

ActiveRecord::Type::RegistryActiveModel::Type::Registryについて、不要な継承関係を削除、不要な処理の削除等のリファクタリングを行っています。

rails commit log流し読み(2021/04/06)

2021/04/06分のコミットです。

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


Merge pull request #41790 from jhawthorn/preloader_smart_batching

Active Recordの修正です。

preloaderのloader処理で、指定されたassociationの先のassociatinoまで含んでbatch処理が行われるよう修正しています。

rails commit log流し読み(2021/04/05)

2021/04/05分のコミットです。

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

actionpack/CHANGELOG.md

activesupport/CHANGELOG.md


Active Storage: upgrade to mini_mime 1.1.0

Active Storageの修正です。

extensionのチェック処理で、大文字のextension(e.g. JPG)が指定された場合にエラーになってしまうバグがあったのを修正しています。


Allow 'private, no-store' Cache-Control header

actionpack/lib/action_dispatch/http/cache.rbの修正です。

Cache-Control headerにprivate, no-storeを指定出来るよう修正しています。元々は、no-storeが指定された場合に他の値は指定出来ないようになっていたのですが、CDNを使用している場合にprivateもセットで指定したいケースがある(no-storeは無視されてしまう為、privateをセットで指定したい)との事で、private, no-storeを指定出来るよう修正しています。


Merge pull request #41835 from rails/deprecate-astwz-name-override

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

ActiveSupport::TimeWithZone.nameメソッドがdeprecateになりました。Ruby本体の#nameをオーバーライドして、Timeを返すようになっていたのですが、オーバーライドする必要性が無さそうに見える、かつ、逆に混乱の元になる可能性があるため、deprecateになりました。