| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
Add Default Puma Config
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the `puma` command is run without any configuration options it will detect presence of a `config/puma.rb` file and use that. Currently there is discrepancy between `puma` command and `rails server` but Evan said it would be reasonable to add in reading in config from the default location. I am working on that right now as a feature in puma/puma.
Why do we need this? By default Puma uses 16 threads, and by default ActiveRecord only has 5 threads. Due to the architecture of AR it is guaranteed that if you're running with fewer DB connections than your server has threads you will hit `ActiveRecord::ConnectionTimeoutError ` eventually if your app gets modest amounts of traffic. Since we are providing a default webserver, we should provide reasonable configuration for that webserver.
This PR does a few things, first it sets the default Puma thread count to 5 to mach ActiveRecord's default. It sets the default environment to `"development"` and the default port to 300 so that booting the server with `$ puma` will give you the same default port as `rails server`. It is worth mentioning that by reading in from `PORT` environment variable this config can work with containerized deployments, such as on Heroku.
We are not using worker processes by default, that way JRuby and windows devs can use this configuration without modification. I went ahead and included a default `on_worker_boot`. It won't be used unless a worker count is specified, that means this config will not use it. Even though it's not being used now It will make someone who wants to try modifying their config to run extra workers easier.
cc/ @pixeltrix
|
|/
|
|
|
|
| |
This new adapter does get a little more intimate with the redis-rb gem's
implementation than I would like, but it's the least bad of the
approaches I've come up with.
|
| |
|
|
|
|
| |
It was removed by mistake at 877a411d0c16baa4e670dae9a28f5cfcc201adc1
|
|
|
|
|
|
|
| |
- This fixes an error thrown by Thor because type of default value of
`:rc` option which is `:boolean` does not match with it's default type
which is `string`.
- Ref - https://github.com/erikhuda/thor/blob/master/lib/thor/parser/option.rb#L125
|
|\
| |
| |
| | |
Allow normal version updates within a release series
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We originally chose to apply very strict versioning on the `rails` entry
in the Gemfile, because our future versioning policy was not strongly
defined.
Now it is, and our policy is very much designed on the expectation that
people will regularly update to the latest patch level in their release
series... so we should encourage that.
Of course, Gemfile.lock will do its job and prevent unplanned updates,
just as it does for every other gem in the bundle... but if you run
`bundle update`, we want to get you the latest bug/security fixes
without requiring a manual edit of the Gemfile entry.
Our current version could be a few different shapes, so it takes a bit
of work to find the right specifier, but in principle, we match anything
of the form x.y.*, where x.y matches our current release series.
|
| | |
|
| | |
|
|/ |
|
| |
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| | |
We will wait until 5.1 to make a decision
|
|/ |
|
|
|
|
|
|
| |
We are using the same version constraint in the database adapters so
when a new version of the adapter that doesn't work with the version of
rails is released we don't break new applications.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
See #20397
|
| |
|
|
|
|
|
|
| |
Spring seems like an obvious foot gun for the `--dev` setup, presumably you are
about to make lots of changes to the codebase, so it should always reload the
framework.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, running `rails new` would not print any of the output from
`bundle install` until all the gems had finished installing. This made
it look like the generator was hanging at the `bundle install` step.
This commit switches to using `system` so that the bundle command can
output as it needs to.
This has the added benefit of including output bundler produces on
standard error, which the previous code ignored since backticks only
capture standard out. This is not a big deal right now since bundler
does not currently print errors to standard error, but that may change
in the future (see: bundler/bundler/issues/3353).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch removes the tasks doc:app, doc:rails, and doc:guides.
In our experience applications do not generate APIs using doc:app.
Methods may be certainly documented for maintainers, annotated
with YARD tags, etc. but that is intended to be read with the
source code, not in a separate website. Then, teams also have
typically selected topics written down in Markdown files, or in
a GitHub wiki... that kind of thing.
If a team absolutely needs to generate application documentation
for internal purposes, they can still easily write their own task.
Regarding doc:rails and doc:guides, we live in 2015. We are used
to go to online docs all the time. If you really want access to the
API offline RubyGems generates it for every Rails component unless
you tell it not to, and you can checkout the Rails source code to
read the guides as Markdown, or download them for a Kindle reader.
All in all, maintaining this code does not seem to be worthwhile
anymore.
As a consequence of this, guides (+3 MB uncompressed) won't be
distributed with the rails gem anymore. Of course, guides and API
are going to be still part of releases, since documentation is
maintained alongside code and tests.
Also, time permitting, this will allow us to experiment with novel
ways to generate documentation in the Rails docs server, since
right now we were constrained by being able to generate them in
the user's environment.
|
|
|
|
| |
ref: https://github.com/rails/rails/pull/18763#issuecomment-72349769
|
| |
|
|
|
|
| |
Rails no longer generates Test::Unit files by default.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
See 63462ec
|
|
|
|
|
|
| |
Fixes:
http://intertwingly.net/projects/AWDwR4/checkdepot-215/makedepot.log
|
| |
|
|
|
|
| |
This reverts commit 2a4e14db981e38611667d407a975600ee720ada7.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
- Remove sprockets-rails from generated Gemfile as rails has a hard-dependency on it
- Also allow sprockets-rails >= 2.0.0
|
| |
|
|
|
|
| |
See also: https://www.cygwin.com/faq.html#faq.using.fixing-fork-failures
|
|
|
|
|
|
|
| |
For the most part of cases --skip-gems option just remove one line in
the Gemfile. This is not worth for the complexity it adds.
Closes #17196
|