2023/01/10分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
- Add .node-version files for Rails apps that use Node.js
- Add Rails::HealthController#show and map it to /up for newly generated applications.
Change dockerfile from using Node 19 to match dev environment (#46794)
railtiesの修正です。
rails newで新規にアプリケーション作成時に.node-versionファイルを生成するよう修正しています。合わせて、Dockerfileでは、この.node-versionに記載されたバージョンのNode.jsがインストールされるよう修正しています。
Run test:prepare before bin/rails test commands (#46664)
railtiesの修正です。
rails testコマンド実行時にtest:prepare taskを実行するよう修正しています。なお、ファイル名を指定して実行する場合(e.g. bin/rails test/models/some_test.rb)は実行されないようになっています。
omit assets:precompile in Dockerfile for api only apps (#46938)
railties/lib/rails/generators/rails/app/templates/Dockerfile.ttの修正です。
api only appsではassets:precompileがDockerfileで実行されないよう修正しています。
Merge pull request #46916 from ioquatix/actionpack-direct-set_response
actionpack/lib/action_controller/metal.rbの修正です。
controllerでRack::Responseを直接指定する為のresponse=メソッドを追加しています。
class MyController < ActionController::Base def streaming_csv body = proc new do |stream| csv = CSV.new(stream) # generate csv output end self.response = [200, {'content-type' => 'text/csv'}, body] end end
Use #except! in HashWithIndifferentAccess#except
activesupport/lib/active_support/hash_with_indifferent_access.rbの修正です。
HashWithIndifferentAccess#exceptメソッドで#except!メソッドを使用するよう修正しています。オブジェクトの生成数を減らす為。
Fix schema cache dumping of virtual columns
activerecord/lib/active_record/connection_adapters/postgresql/column.rbの修正です。
PostgreSQLのvirtual columnsはschema cacheに正しく出力されないバグがあったのを修正しています。
Match arity of Hash#default in HWIA#default
activesupport/lib/active_support/hash_with_indifferent_access.rbの修正です。
HashWithIndifferentAccess#defaultの引数の指定がHash#defaultの引数の指定と一致するよう修正しています。
Use map! in HashWithIndifferentAccess#values_at
activesupport/lib/active_support/hash_with_indifferent_access.rbの修正です。
HashWithIndifferentAccess#values_atメソッドでオブジェクト生成数を減らすよう修正しています。
Use map! in HashWithIndifferentAccess#fetch_values
activesupport/lib/active_support/hash_with_indifferent_access.rbの修正です。
HashWithIndifferentAccess#fetch_valuesメソッドでオブジェクト生成数を減らすよう修正しています。
Make Active Storage setup instructions less scary
rails guideのActive Storage Overviewの修正です。
Setupの項の言い回しを修正しています。
Merge pull request #46894 from avispatech/enable-extensions-schema
activerecord/lib/active_record/connection_adapters/postgresql_adapter.rbの修正です。
enable_extensionメソッドのextension名にschemaを指定出来る(e.g. enable_extension('heroku_ext.hstore'))よう修正しています。
Add a default health controller (#46936)
railtiesの修正です。
rails newで新規にアプリケーションを作成した際に、アプリケーションが動作しているかどうかをチェックする為のヘルスチェック用の処理を追加する用修正しています。ヘルスチェック用のcontrollerはrails内部で保持されているので、routesに追加すれば既存のアプリケーションでも使用出来るようになっています。なお、ヘルスチェック用の処理は単純にHTMLをrenderするだけの処理になっています。
TaggedLogging accepts non-String objects
activesupport/lib/active_support/tagged_logging.rbの修正です。Reuse the String object created via tags_text()の影響でTaggedLoggingのmsgにString以外のオブジェクトを指定するとエラーになるようになっていたのを、再度指定出来るよう修正しています。
activerecord/test/cases/tasks/database_tasks_test.rbの修正です。
テスト実行時に他のテストでも使用しているtableのdropを行わないよう修正しています。
Dockerfile binfile fixups; primarily for Windows users (#46944)
railties/lib/rails/generators/app_base.rb、
railties/lib/rails/generators/rails/app/templates/Dockerfile.ttの修正です。
path等が正しく生成されてなかった為、Windows環境で生成されたDockerfileのbinstubを実行するとエラーになってしまっていたのを、正しく動作するよう修正しています。