Restart Puma when some files change
Add this line to your application's Gemfile:
gem 'guard-puma'
And then execute:
$ bundle
Or install it yourself as:
$ gem install guard-puma
guard init puma
or add the following manually to your Guardfile
guard 'puma', :port => 4000 do
watch('Gemfile.lock')
watch(%r{^config|lib/.*})
end
Run guard-puma
with bundle exec guard
.
Note that if you're running guard-puma
in Docker, you'll additionally need to pass the -i
argument to your command in order to disable all terminal interactions, for example:
CMD ["bundle", "exec", "guard", "-i"]
:port
is the port number to run on (default4000
):environment
is the environment to use (defaultdevelopment
):start_on_start
will start the server when starting Guard and stop the server when reloading/stopping Guard (defaulttrue
):force_run
kills any process that's holding open the listen port before attempting to (re)start Puma (defaultfalse
).:daemon
runs the server as a daemon, without any output to the terminal that ranguard
(defaultfalse
).:quiet
runs the server in quiet mode, suppressing output (defaulttrue
).:debugger
runs the server with the debugger enabled (defaultfalse
). Required ruby-debug gem.:timeout
waits this number of seconds when restarting the Puma server before reporting there's a problem (default20
).:restart_timeout
waits this number of seconds before the next restarting the Puma server (default1
).:config
is the path to the Puma config file (optional):bind
is URI to bind to (tcp:// and unix:// only) (optional):control_token
is the token to use as authentication for the control server(optional):control_port
is the port to use for the control server(optional):threads
is the min:max number of threads to use. Defaults to 0:16 (optional):pumactl
manages the server viapumactl
executable instead ofpuma
(defaultfalse
)- Incompatible with options such as
port
,environment
,daemon
,bind
,threads
- Use with
config
option is preferred.
- Incompatible with options such as
:notifications
is the list of notification types that will be sent. Defaults to[:restarting, :restarted, :not_restarted, :stopped]
(optional)
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Leave the version alone!
- Add what you changed to CHANGES.md
- Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
- Update changelog
- Bump version in
lib/guard/puma/version.rb
- Commit
gem build guard-puma.gemspec
gem push guard-puma-VERSION.gem