diff options
author | Genadi Samokovarov <gsamokovarov@gmail.com> | 2018-02-19 20:31:56 +0200 |
---|---|---|
committer | Genadi Samokovarov <gsamokovarov@gmail.com> | 2018-03-04 17:50:29 +0200 |
commit | 5af643d8d6f8af19a85a34475f40ac18db7c71e9 (patch) | |
tree | e32e0f33589c49b06d523ce514e1263097fb0adb /activerecord/test/cases/dirty_test.rb | |
parent | 22a67927f1c3e0fbc6a77b9b1c8892166a171c78 (diff) | |
download | rails-5af643d8d6f8af19a85a34475f40ac18db7c71e9.tar.gz rails-5af643d8d6f8af19a85a34475f40ac18db7c71e9.tar.bz2 rails-5af643d8d6f8af19a85a34475f40ac18db7c71e9.zip |
Introduce explicit rails server handler option
I mistype `rails server production` instead of `rails server -e
production` expecting to lunch a server in the production environment
all the time. However, the signature of `rails server --help` is:
```
Usage:
rails server [puma, thin etc] [options]
```
This means that the `production` argument is being interpreted as a Rack
server handler like Puma, Thin or Unicorn.
Should we argue for the `rails server production`? I'm not sure of the
reasons, but the `rails console production` behavior was deprecated in:
https://github.com/rails/rails/pull/29358, so parity with the existing
`rails console production` usage may not hold anymore.
In any case, this PR introduces an explicit option for the Rack servers
configuration. The option is called `--using` (or `-u` for short) to
avoid the `rails server --server` tantrum.
The new interface of `rails server` is:
```
Usage:
rails server [using] [options]
Options:
-p, [--port=port] # Runs Rails on the specified port - defaults to 3000.
-b, [--binding=IP] # Binds Rails to the specified IP - defaults to 'localhost' in development and '0.0.0.0' in other environments'.
-c, [--config=file] # Uses a custom rackup configuration.
# Default: config.ru
-d, [--daemon], [--no-daemon] # Runs server as a Daemon.
-e, [--environment=name] # Specifies the environment to run this server under (development/test/production).
-u, [--using=name] # Specifies the Rack server used to run the application (thin/puma/webrick).
-P, [--pid=PID] # Specifies the PID file.
# Default: tmp/pids/server.pid
-C, [--dev-caching], [--no-dev-caching] # Specifies whether to perform caching in development.
[--early-hints], [--no-early-hints] # Enables HTTP/2 early hints.
```
As a bonus, if you mistype the server to use, you'll get an
auto-correction message:
```
$ rails s tin
Could not find handler "tin". Maybe you meant "thin" or "cgi"?
Run `rails server --help` for more options.
```
Diffstat (limited to 'activerecord/test/cases/dirty_test.rb')
0 files changed, 0 insertions, 0 deletions