なるようになるブログ

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

rails commit log流し読み(2022/01/06)

2022/01/06分のコミットです。

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

railties/CHANGELOG.md


Merge pull request #43925 from TooManyBees/apply-migration-exception-to-7-1

activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rbactiverecord/lib/active_record/connection_adapters/abstract/schema_statements.rbの修正です。

Rails 7.0以下で作られた古いバージョンのmigrationファイルでif_existsif_not_existsオプションを使用した場合に、エラーになってしまうバグがあったのを修正しています。


Temporarily add net-gems as dependencies of frameworks that use mail

Gemfileactionmailbox/actionmailbox.gemspecactionmailer/actionmailer.gemspecの修正です。

actionmailboxactionmailerの依存としてnet-smtp, net-pop, net-imapを追加しています。Ruby 3.1でdefault gemsから削除され、明示的に追加しないと動作しなくなった為。なお、これらのmail gemで使用されており、本来はmail gemの方で依存を指定すべきなのですが、mail gemはRuby 2.6未満をまだサポートしている、かつ、これらのgemはそれら古いRubyでインストール出来ない、という問題がある為、一時的にactionmailboxactionmailerの依存として追加した、とのことです。


Add config.load_defaults 7.0 annotation in config.active_storage.video_preview_arguments document [skip ci]

rails guideのConfiguring Rails Applicationsの修正です。

config.active_storage.video_preview_argumentsのデフォルト値について説明している箇所に、config.load_defaults 7.0を指定している場合にのみ設定されるデフォルトである旨説明を追加しています。


Fix argument error on execute of the abstract_mysql_adapter

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

AbstractMysqlAdapter#executeメソッドでraw_executeを呼び出す際の引数指定が不足していたのを修正しています。


Update module definition style

railties/lib/rails/autoloaders/inflector.rbの修正です。

moduleの定義をネスト形式で行うよう修正しています。


Clarify that only the latest release series is supported for bug fixes

rails guideのMaintenance Policy for Ruby on Railsの修正です。

Bug Fixesの項に、最新のリリースシリーズのみがバグ修正を受け付ける旨説明を追加しています。


Merge pull request #43984 from jonathanhefner/fix-route-action-revocation

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

namespaceを指定したscaffold/resourceをdestroyコマンドに指定した場合に、routes.rbに不要なendが残ってしまうバグがあったのを修正しています。


Fix documentation output to remove escaping

actionview/lib/action_view/helpers/date_helper.rbactionview/lib/action_view/helpers/form_tag_helper.rbのdocの修正です。

doc内のexampleコードか、不要なエスケープ処理を削除しています。


Merge pull request #44000 from ykpythemind/better_message_for_missing

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

ActiveRecord::QueryMethods::WhereChain#missingに不正なassociation名を指定した場合に、NoMethodErrorがraiseしてしまっていたのを、ArgumentErrorをraiseするよう修正しています。


Fix asset pipeline errors for plugin dummy apps

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

plugin用のdummy appsのGemfilesprockets-railsを追加するよう修正しています。sprockets-railsが無いと実行時にエラーになる為。


Update sdoc to 2.3.0

Gemfileの修正です。

sdocのバージョンを2.3.0に更新しています。


Prevent duplicate entries in plugin Gemfile

railtiesの修正です。

plugin用のGemfileに、同じgemが複数定義されてしまう事があるバグがあったのを修正しています。


Allow subsecond resolution in travel_to helper

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

travel_toメソッドに、usecの0への丸め込みを行うかどうかを指定する為のフラグ(with_usec)を追加しています。デフォルトは0にするようになっており、with_usecにtrueを指定した場合、usecの値がそのまま参照出来るようになっています。


Require shellwords where it is used

Shellwordsを使用している箇所で、明示的にshellwordsをrequireするよう修正しています。Ruby 3.1だとデフォルトでshellwordsがロードされなくなっている為。


Only run test for gem templates in Ruby < 3.1

guides/Rakefileの修正です。

gem用のbug report templatesはRuby 3.1では実行しないよう修正しています。現在はテストが通らない為。


Use pg gem 1.3.0.rc1 to support Ruby 3.2

Gemfileの修正です。

pg gemのバージョンを1.3.0.rc1に更新しています。Ruby 3.2でテストが通るようにする為。


Remove X-Download-Options default header

railtiesの修正です。

デフォルトのheaderの指定からX-Download-Optionsを削除しています。IEでしか使用されていないヘッダーであり、Rails 7.0は完全にはIEをサポートしていない為削除されました。


Add test case for AbstractMysqlAdapter#execute

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

AbstractMysqlAdapter#executeメソッドに関するテストを追加しています。