なるようになるブログ

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

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

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

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


Merge pull request #43772 from rails/rm-deprecate-to_s

Active Supportの修正です。

ArrayRangeDateDateTimeTimeBigDecimalFloat 及び Integerto_sメソッドにformatを指定するのがdeprecatedになりました。formatを指定したい場合、今後はto_formatted_s、またはそのaliasのto_fsを使用する必要があります。

Ruby 3.1でstring interpolation作成時の最適化処理が追加されました。この最適化は、to_sメソッドがオーバライドしている場合は使用されないようになっています。Railsでは、to_sformatを指定出来るようにする為に各クラスでto_sメソッドをオーバーライドしています。Railsアプリケーションでもこの最適化を使用出来るようにする為に、Rails内でオーバーライドしているto_sメソッドを削除しよう、という事になり、deprecatedになりました。

なお、config.active_support.disable_to_s_conversionにtrueを指定すると、Railsto_sメソッドのオーバーライドが行われないようになり、Rails 7.0の時点でRuby 3.1の最適化の恩恵を受けれるようになっています。

参考: Optimize dynamic string interpolation for symbol/true/false/nil/0-9


Add releases note about the #to_s deprecation.

rails guideのRuby on Rails 7.0 Release Notesの修正です。

先の#to_sをdeprecateにした対応について、releases noteに説明を追加しています。


Merge pull request #42599 from santib/use-rails-guides-instead-of-edge-guides

Active Storageのdocの修正です。

doc内のリンク先がedgeguides.rubyonrails.orgになっていた箇所を、guides.rubyonrails.org に修正しています。


Merge pull request #43637 from alxjrvs/blob-representation-disposition

activestorage/app/controllers/active_storage/blobs/proxy_controller.rbactivestorage/app/controllers/active_storage/representations/proxy_controller.rbの修正です。

Rails 7.0でActive Storageのurl helperに指定したdisposition paramsが無視されてしまうリグレッションが発生していたのを修正しています。


:scissors:

activestorage/test/controllers/representations/proxy_controller_test.rbの修正です。

不要な空行を削除しています。


Merge pull request #43604 from nikonoid/bug/31722

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

ActiveRecord::Migration next_migration_numberでmigration numberの生成を行う際に、値の比較をIntegerに変換してから行うよう修正しています。不正なtimestampのmigrationファイルが存在している場合にも、正しい値が生成出来るようにする為。


Remove unused variables

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

使用していない変数を削除しています。


Remove trailing slash from comment linking to propshaft repository

railties/lib/rails/generators/app_base.rbの修正です。

rails newで生成されるGemfile内の、propshaft gemのコメントにある https://github.com/rails/propshaft へのリンクの末尾から不要なtrailing slashを削除しています。


Fix test name in PathnameExistenceTest


Merge pull request #43786 from rmacklin/fix-typo-in-PathnameExistenceTest

activesupport/test/core_ext/pathname/existence_test.rbの修正です。

existenceメソッドのテスト名がpresenceになっていたのを修正しています。


Fix typo [ci-skip]

rails guideのRuby on Rails 7.0 Release Notesの修正です。

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


Fix typo in the rdoc for Pathname#existence [ci-skip]

activesupport/lib/active_support/core_ext/pathname/existence.rbのdocの修正です。

Pathname#existenceメソッドのdoc内にある、existenceと同じ挙動になるコードの例メソッド名をタイポしていたのを修正しています。


Better proc/lambda route representation in inspector

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

routeにProc/Lambdaが指定されている場合に、route inspectorの結果をProc/Lambdaが指定されている事がわかるよう修正しています。

# Before:
<Proc:RandomObjectId "/full/path/to/config/routes">

# After:
"Inline handler (Proc/Lambda)"

Extract components from signed messages by calculating their indexes

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

ActiveSupport::MessageVerifier#verifiedでsigned messageのsplit処理が2回行われていたのを、1度だけ行われるようリファクタリングしています。


Removing caveat for automatic shard swapping

rails guideのMultiple Databases with Active Recordの修正です。

自動でのswappingはサポートしていない旨注記があったのを削除しています。Rails 7.0ではサポートしている為。


Remove obsolete option from new Rails 7.0 defaults

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

Stop failing GSRF token generation when session is disabledで削除された、オプション(config.action_controller.silence_disabled_session_errors)が残っていたのを削除しています。