2019/02/13分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
actioncable/CHANGELOG.md
Merge pull request #35175 from drn/create-session
actionpack/lib/action_dispatch/testing/integration.rb
の修正です。
ActionDispatch::Integration
でテスト用のセッションを作成する際に、applicationのrouteがActionDispatch::Routing::RouteSet
のインスタンスがどうかをチェックし、ActionDispatch::Routing::RouteSet
のインスタンスがの場合のみurl helper / mounted helperをロードするよう修正しています。
普通のRails application以外のapplication(PRでの例はGrape::API
)でActionDispatch::Integration
を使用出来るようにする為。
Fix DatabaseSelector test that fails sometimes
activerecord/test/cases/database_selector_test.rb
の修正です。
DatabaseSelector
の後処理でconnection_handlers
をデフォルトの値に戻すよう修正しています。
Merge pull request #35235 from rails/fxn/zeitwerk
activesupport、railtiesの修正です。
autoloaderにfxn/zeitwerkを使用する為の対応を行っています。
CRubyの場合、Rails 6ではデフォルトでautoloaderにzeitwerk
が使用されるようになっており、もしzeitwerk
ではなく元々のautoloaderが使用したい場合は、config.autoloader
に:classic
を指定すると従来のautoloaderが使用されるようになっています。また、zeitwerk
が現状JRubyは未サポートらしく、JRubyの場合はデフォルトで従来のautoloaderが使用されるようになっています。
zeitwerk自体については、Zeitwerk: A new code loader for Rubyを参照。
Fix pluck
and select
with custom attributes
activerecord/lib/active_record/relation/calculations.rb
、
activerecord/lib/active_record/relation/query_methods.rb
の修正です。
pluck
、select
にcustom attributesを指定した場合に、強制的にtable名で修飾されてしまい、結果不正なSQLが生成されてエラーになる、という問題があったのを修正しています。custom attributesについてはtableに同じ名前のカラムがある場合のみ修飾されるようになっています。
Should respect attribute_types over column_types
activerecord/lib/active_record/querying.rb
の修正です。
Querying#find_by_sql
メソッドでcolumn_types
とattribute_types
に同じkeyがあった場合に、attribute_types
が使用されるよう修正しています。
Allow passing custom config to ActionCable::Server::Base
actioncable/lib/action_cable/server/base.rb
の修正です。
ActionCable::Server::Base
に任意のconfigを指定出来るよう修正しています。
config = ActionCable::Server::Configuration.new config.cable = { adapter: "redis", channel_prefix: "custom_" } CUSTOM_CABLE = ActionCable::Server::Base.new(config: config)
異なる設定の複数のcable server(片方は認証ありで、もう片方は認証無し等)を使う時に使用する事を想定している、との事です。
Merge pull request #35034 from sponomarev/chore/ac-docs-worker-pool
rails guideのAction Cable Overview
、Configuring Rails Applications
の修正です。
Action Cable Overview
にworker poolの設定について説明したWorker Pool Configuration
の項を追加、及び、Configuring Rails Applications
にAction Cable Overview
のconfigについて説明している箇所へのリンクの追加を行っています。
Support running AR isolated tests in parallel
activerecord/Rakefile
の修正です。
Active Recordのisolated testsをparallelに実行するよう修正しています。
Revert "Merge pull request #35127 from bogdan/counter-cache-loading"
counter cacheの値が0の時の振る舞いを修正した、Bugfix association loading behavior when counter cache is zeroをRevertしています。
この対応では、実際のloadingを行わずにload済みとみなすという処理が含まれていました。で、それとは別に、counter cacheを使用している場合、子レコードを削除する際にcounter cacheの値に依存するようになっている、かつ、fixtureでデータをインポートした場合、counter cacheの値は更新されないようになっていました。
これらの複合で、fixtureでデータをインポートした場合(counter cacheの値が何らかの理由で更新されていない場合)に、子レコードが正しく削除出来ない、というバグが発生してしまったため、Revertされています。
Don’t log recipients when sending mail
actionmailer/lib/action_mailer/base.rb
、
actionmailer/lib/action_mailer/log_subscriber.rb
の修正です。
mail deliver時のlogに受信者のメールアドレスが出力されてしまっていたのを、出力しないよう修正しています。
電子メールアドレスは機密データ(GDPRだと個人情報)なので、ログに出すのは不適切だろう、という理由で修正されています。代わりにmessage idを出力するようにしています。