結論
puma
を6.0
以上で動作する場合capybara
は3.38.0
以上のバージョンが必要です
詳細
1. 元々puma
の実装でPuma::Events
クラスは以下の2つの異なる責務を担っており責務過多だった
- ロギング
- コールバックイベントの管理
2. 上記の2つをそれぞれのclass
に分離するBreaking changeが入るリファクタリングを行い6.0
でリリース
3. capybara
で``Puma::Events`を参照していたが上記の変更の影響を受けてエラーが発生
Failure/Error: events = conf.options[:Silent] ? ::Puma::Events.strings : ::Puma::Events.stdio
NoMethodError:
undefined method `strings' for Puma::Events:Class
events = conf.options[:Silent] ? ::Puma::Events.strings : ::Puma::Events.stdio
^^^^^^^^
# ruby/3.1.0/gems/capybara-3.37.1/lib/capybara/registrations/servers.rb:32:in `block in <main>'
# ruby/3.1.0/gems/capybara-3.37.1/lib/capybara/config.rb:64:in `block in server='
# ruby/3.1.0/gems/capybara-3.37.1/lib/capybara/server.rb:77:in `block in boot'
#
# Showing full backtrace because every line was filtered out.
# See docs for RSpec::Configuration#backtrace_exclusion_patterns and
# RSpec::Configuration#backtrace_inclusion_patterns for more information.
4. capybara
で対応がされて3.38.0
でリリース
その他
puma 6.0 のupgrade用ドキュメント