Project

guard-puma

0.06
Low commit activity in last 3 years
A long-lived project that still receives updates
Restart puma when files change
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
 Dependencies

Development

~> 12
~> 3.7

Runtime

~> 2.14
>= 4.0, < 7
 Project Readme

Guard::Puma

Build Status

Restart Puma when some files change

Installation

Add this line to your application's Gemfile:

gem 'guard-puma'

And then execute:

$ bundle

Or install it yourself as:

$ gem install guard-puma

Usage

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"]

Options

  • :port is the port number to run on (default 4000)
  • :environment is the environment to use (default development)
  • :start_on_start will start the server when starting Guard and stop the server when reloading/stopping Guard (default true)
  • :force_run kills any process that's holding open the listen port before attempting to (re)start Puma (default false).
  • :daemon runs the server as a daemon, without any output to the terminal that ran guard (default false).
  • :quiet runs the server in quiet mode, suppressing output (default true).
  • :debugger runs the server with the debugger enabled (default false). Required ruby-debug gem.
  • :timeout waits this number of seconds when restarting the Puma server before reporting there's a problem (default 20).
  • :restart_timeout waits this number of seconds before the next restarting the Puma server (default 1).
  • :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 via pumactl executable instead of puma (default false)
    • Incompatible with options such as port, environment, daemon, bind, threads
    • Use with config option is preferred.
  • :notifications is the list of notification types that will be sent. Defaults to [:restarting, :restarted, :not_restarted, :stopped] (optional)

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Leave the version alone!
  4. Add what you changed to CHANGES.md
  5. Commit your changes (git commit -am 'Added some feature')
  6. Push to the branch (git push origin my-new-feature)
  7. Create new Pull Request

Releasing

  1. Update changelog
  2. Bump version in lib/guard/puma/version.rb
  3. Commit
  4. gem build guard-puma.gemspec
  5. gem push guard-puma-VERSION.gem