jc00ke / guard-puma

Restart puma when files change
MIT License
50 stars 19 forks source link

Chore: bump max Puma version to 6.0 #48

Closed onshi closed 2 years ago

onshi commented 2 years ago

With the new Puma release, I'm proposing a bump of the max Puma version to 6.0.

Due to a slight change of logic in Puma - using Puma.mri? in a constant (Puma::Configuration) I needed to introduce explicit require 'puma/detect' otherwise we will see

An error occurred while loading ./spec/lib/guard/puma/runner_spec.rb.
Failure/Error: require 'puma/configuration'

NoMethodError:
  undefined method `mri?' for Puma:Module
# /usr/local/bundle/gems/puma-6.0.0/lib/puma/configuration.rb:147:in `<class:Configuration>'
# /usr/local/bundle/gems/puma-6.0.0/lib/puma/configuration.rb:128:in `<module:Puma>'
# /usr/local/bundle/gems/puma-6.0.0/lib/puma/configuration.rb:8:in `<top (required)>'
# ./lib/guard/puma/runner.rb:2:in `require'
# ./lib/guard/puma/runner.rb:2:in `<top (required)>'
# ./spec/lib/guard/puma/runner_spec.rb:2:in `require'
# ./spec/lib/guard/puma/runner_spec.rb:2:in `<top (required)>'

An error occurred while loading ./spec/lib/guard/puma_spec.rb.
Failure/Error: require 'puma/configuration'

NoMethodError:
  undefined method `mri?' for Puma:Module
# /usr/local/bundle/gems/puma-6.0.0/lib/puma/configuration.rb:147:in `<class:Configuration>'
# /usr/local/bundle/gems/puma-6.0.0/lib/puma/configuration.rb:128:in `<module:Puma>'
# /usr/local/bundle/gems/puma-6.0.0/lib/puma/configuration.rb:8:in `<top (required)>'
# ./lib/guard/puma/runner.rb:2:in `require'
# ./lib/guard/puma/runner.rb:2:in `<top (required)>'
# ./lib/guard/puma.rb:2:in `require_relative'
# ./lib/guard/puma.rb:2:in `<top (required)>'
# ./spec/lib/guard/puma_spec.rb:2:in `require'
# ./spec/lib/guard/puma_spec.rb:2:in `<top (required)>'
Run options: include {:focus=>true}

The change itself is backward compatible as puma/detect exists in v4.0.0

Tested via:

PUMA_VERSION='~> 6.0' ```sh root@0aee3b50d6da:/usr/src/app# PUMA_VERSION='~> 6.0' bundle install -j4 Fetching gem metadata from https://rubygems.org/............. Resolving dependencies... Using rake 12.3.3 Using bundler 2.2.33 Using coderay 1.1.3 Using diff-lcs 1.5.0 Using lumberjack 1.2.8 Using nenv 0.3.0 Using shellany 0.0.1 Using method_source 1.0.0 Using thor 1.2.1 Using guard-compat 1.2.1 Using nio4r 2.5.8 Using ffi 1.15.5 Using formatador 1.1.0 Using pry 0.14.1 Using rb-inotify 0.10.1 Using puma 6.0.0 Using rspec-support 3.11.1 Using notiffany 0.1.3 Using rspec-core 3.11.0 Using rspec-expectations 3.11.1 Using rb-fsevent 0.11.2 Using rspec-mocks 3.11.2 Using rspec 3.11.0 Using listen 3.7.1 Using guard 2.18.0 Using guard-puma 0.8.0 from source at `.` Using guard-rspec 4.7.3 Bundle complete! 4 Gemfile dependencies, 27 gems now installed. Use `bundle info [gemname]` to see where a bundled gem is installed. root@0aee3b50d6da:/usr/src/app# bundle exec rake /usr/local/bin/ruby -I/usr/local/bundle/gems/rspec-core-3.11.0/lib:/usr/local/bundle/gems/rspec-support-3.11.1/lib /usr/local/bundle/gems/rspec-core-3.11.0/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb Run options: include {:focus=>true} All examples were filtered out; ignoring {:focus=>true} ........................................ Finished in 2.58 seconds (files took 0.16076 seconds to load) 40 examples, 0 failures ```
PUMA_VERSION='~> 5.0' ```sh root@0aee3b50d6da:/usr/src/app# PUMA_VERSION='~> 5.0' bundle install -j4 Fetching gem metadata from https://rubygems.org/............. Resolving dependencies... Using rake 12.3.3 Using bundler 2.2.33 Using coderay 1.1.3 Using diff-lcs 1.5.0 Using ffi 1.15.5 Using formatador 1.1.0 Using rb-fsevent 0.11.2 Using lumberjack 1.2.8 Using nenv 0.3.0 Using method_source 1.0.0 Using nio4r 2.5.8 Using shellany 0.0.1 Using guard-compat 1.2.1 Using thor 1.2.1 Using rspec-support 3.11.1 Fetching puma 5.6.5 Using pry 0.14.1 Using rb-inotify 0.10.1 Using rspec-expectations 3.11.1 Using notiffany 0.1.3 Using rspec-mocks 3.11.2 Using listen 3.7.1 Using rspec-core 3.11.0 Using rspec 3.11.0 Using guard 2.18.0 Using guard-rspec 4.7.3 Installing puma 5.6.5 with native extensions Using guard-puma 0.8.0 from source at `.` Bundle complete! 4 Gemfile dependencies, 27 gems now installed. Use `bundle info [gemname]` to see where a bundled gem is installed. root@0aee3b50d6da:/usr/src/app# bundle exec rake /usr/local/bin/ruby -I/usr/local/bundle/gems/rspec-core-3.11.0/lib:/usr/local/bundle/gems/rspec-support-3.11.1/lib /usr/local/bundle/gems/rspec-core-3.11.0/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb Run options: include {:focus=>true} All examples were filtered out; ignoring {:focus=>true} ........................................ Finished in 2.57 seconds (files took 0.14713 seconds to load) 40 examples, 0 failures ```
PUMA_VERSION='~> 4.0' ```sh root@0aee3b50d6da:/usr/src/app# PUMA_VERSION='~> 4.0' bundle install -j4 Fetching gem metadata from https://rubygems.org/............. Resolving dependencies... Using rake 12.3.3 Using bundler 2.2.33 Using coderay 1.1.3 Using diff-lcs 1.5.0 Using ffi 1.15.5 Using formatador 1.1.0 Using rb-fsevent 0.11.2 Using lumberjack 1.2.8 Using nenv 0.3.0 Using shellany 0.0.1 Using method_source 1.0.0 Using rspec-support 3.11.1 Using rb-inotify 0.10.1 Using notiffany 0.1.3 Using pry 0.14.1 Using thor 1.2.1 Using guard-compat 1.2.1 Using nio4r 2.5.8 Using listen 3.7.1 Using rspec-expectations 3.11.1 Using guard 2.18.0 Using rspec-core 3.11.0 Fetching puma 4.3.12 Using rspec-mocks 3.11.2 Using rspec 3.11.0 Using guard-rspec 4.7.3 Installing puma 4.3.12 with native extensions Using guard-puma 0.8.0 from source at `.` Bundle complete! 4 Gemfile dependencies, 27 gems now installed. Use `bundle info [gemname]` to see where a bundled gem is installed. root@0aee3b50d6da:/usr/src/app# bundle exec rake /usr/local/bin/ruby -I/usr/local/bundle/gems/rspec-core-3.11.0/lib:/usr/local/bundle/gems/rspec-support-3.11.1/lib /usr/local/bundle/gems/rspec-core-3.11.0/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb Run options: include {:focus=>true} All examples were filtered out; ignoring {:focus=>true} ........................................ Finished in 2.6 seconds (files took 0.14184 seconds to load) 40 examples, 0 failures ```

@jc00ke let me know if there is more I should do 🙇🏻

jc00ke commented 2 years ago

Rad, thank you @onshi!!!

jc00ke commented 2 years ago

0.8.0 pushed to RubyGems :ship: