| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Cached collections only work if there is one template
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Cached collections only work if there is one template. If there are
more than one templates, the caching mechanism doesn't have a key.
|
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I believe the current style does not clearly communicate that we are
ignoring non-existing autoload paths altogether. Your eyes may even be
looking for an else clause that is easy to miss but that does not exist.
With the early `next` and code comment the loop reads better for my
taste.
|
|\ \ \ \
| | | | |
| | | | | |
Address to useless assignment `formats = nil` after #35254
|
|/ / / /
| | | |
| | | |
| | | | |
https://codeclimate.com/github/rails/rails/pull/35254
|
|\ \ \ \
| | | | |
| | | | | |
Clean for fix done in #35229. Removed unused arguments for `build_lookup_context `
|
|/ / / / |
|
|\ \ \ \
| | | | |
| | | | | |
Convert lookup context's to a stack for fixing #35222 and #34138
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit keeps a stack of lookup contexts on the ActionView::Base
instance. If a format is passed to render, we instantiate a new lookup
context and push it on the stack, that way any child calls to "render"
will use the same format information as the parent. This also isolates
"sibling" calls to render (multiple calls to render in the same
template).
Fixes #35222 #34138
|
| | | | | |
|
| |/ / / |
|
|\ \ \ \
| | | | |
| | | | | |
Fix database configurations building when DATABASE_URL present
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Since production applications typically run with log level info and
email adresses should be considered as sensitive data we want to prevent
them from ending up in the logs. In development mode (with log level
debug) they are still logged as part of the Mail::Message object.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This reverts commit eec3e28a1abf75676dcee58308ee5721bb53c325, reversing
changes made to 5588fb4802328a2183f4a55c36d6703ee435f85c.
Reason: Marking as loaded without actual loading is too greedy optimization.
See more context #35239.
Closes #35239.
[Edouard CHIN & Ryuta Kamizono]
|
| |_|_|/
|/| | | |
|
|\ \ \ \
| | | | |
| | | | | |
Add Worker Pool section to Action Cable configuration docs
|
| | | | | |
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Action Cable: allow multiple instances of Server::Base with different configs
|
|/ / / /
| | | |
| | | |
| | | |
| | | | |
That allows us to create a separate, isolated Action Cable server
instance within the same app.
|
| | | |
| | | |
| | | |
| | | | |
Fixed the CI failure https://travis-ci.org/rails/rails/jobs/492291248#L1185-L1191.
|
|\ \ \ \
| | | | |
| | | | | |
Fix DatabaseSelector test that fails sometimes
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
On CI we've seen a few test failures when the DatabaseSelectorTest runs
before the ConnectionHandlersMultiDbTest. This is because it's creating
2 handlers but not properly tearing them down.
Example failure:
```
Failure:
ActiveRecord::ConnectionAdapters::ConnectionHandlersMultiDbTest#test_connects_to_with_single_configuration
[/rails/activerecord/test/cases/connection_adapters/connection_handlers_multi_db_test.rb:241]:
Expected: 1
Actual: 2
```
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Currently custom attributes are always qualified by the table name in
the generated SQL wrongly even if the table doesn't have the named
column, it would cause an invalid SQL error.
Custom attributes should only be qualified if the table has the same
named column.
|
|\ \ \ \
| | | | |
| | | | | |
Zeitwerk integration
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Support testing of non-ActionDispatch-routed apps.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The [Grape API framework](https://github.com/ruby-grape/grape) regularly
writes tests like
[spec/grape/api_spec.rb](https://github.com/ruby-grape/grape/blob/master/spec/grape/api_spec.rb).
When attempting to write a test in a Rails environment similar to the
following:
```
describe Grape::Api, type: :request do
let(:app) {
Class.new(Grape::API) do
get 'test' do
{ foo: 'bar' }
end
end
}
it '200s' do
get 'test'
end
end
```
The following exception is thrown:
```
NoMethodError: undefined method `url_helpers' for #<Array:0x00007fb4e4bc4c88>
--
0: .../lib/action_dispatch/testing/integration.rb:330:in `block in create_session'
1: .../lib/action_dispatch/testing/integration.rb:326:in `initialize'
2: .../lib/action_dispatch/testing/integration.rb:326:in `new'
3: .../lib/action_dispatch/testing/integration.rb:326:in `create_session'
4: .../lib/action_dispatch/testing/integration.rb:316:in `integration_session'
5: .../lib/action_dispatch/testing/integration.rb:348:in `block (2 levels) in <module:Runner>'
```
This change explicitly ensures that `app.routes` is an
`ActionDispatch::Routing::RouteSet` instance.
|
| | | | |
| | | | |
| | | | |
| | | | | |
If generate application without specified options,`actioncable` and
`activestorage` loads by default.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
use ProxyPattern to match for ActiveSupport::Notifications fanout/unsubscribe
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Document queue_as block arguments and their use
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Currently, we only document the use case for ActiveJob's `queue_as` block
arguments in [Rails Guides][1]. It seems necessary to document them in the API
docs as well considering how useful and powerful this option is.
[1]: https://edgeguides.rubyonrails.org/active_job_basics.html#queues
[ci skip]
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The implicit delegation in the migration class is to be logged. It is
not intended in the migration compatibility, so it should be avoided.
Fixes #35224.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Allow deprecated non-symbol access to nested `config_for` hashes
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
The assertion from the previous PR had the expected and the actual
values in the wrong order, so when a test failed the error message was
confusing.
This commit fixes the problem by switching the order.
|
| | |_|/ / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
A change to `Rails::Application.config_for` in
https://github.com/rails/rails/pull/33815 and
https://github.com/rails/rails/pull/33882 has altered the behaviour of
the returned object in a breaking manner. Before that change, nested
hashes returned from `config_for` could be accessed using non-symbol keys.
After the change, all keys are recursively symbolized so non-symbol access
fails to read the expected values.
This is a breaking change for any app that might be relying on the
nested hashes returned from `config_for` calls, and thus should be
deprecated before being removed from the codebase.
This commit introduces a temporary `NonSymbolAccessDeprecatedHash` class
that recursively wraps any nested hashes inside the `OrderedOptions`
object returned from `config_for` and issues a deprecation notice when a
non-symbol based access is performed.
This way, apps that are still relying on the ability to access these
nested hashes using non-symbol keys will be able to observe the
deprecation notices and have time to implement changes before non-symbol
access is removed for good.
A CHANGELOG entry is also added to note that non-symbol access to nested
`config_for` hashes is deprecated.
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | |
| | | | | |
| | | | | | |
alkesh26/railities-namespaces-to-paths-optimization
Optimized namespaces_to_paths method.
|
|/ / / / / |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Clarify collection proxy docs
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The docs for `ActiveRecord::Associations::CollectionProxy` describe
`ActiveRecord::Associations::Association`. I've moved them to
association and rewrote collection proxy's docs to be more applicable to
what the class actually does.`
[ci skip]
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This reverts commit b46601b56d94a02d944ed9bd9494aeea9cba98c8, reversing
changes made to 4e6737f18ab8f0d0e9fbe6f73a92e5d29f1c68f1.
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Correct JavaScript guide example
|
| | |_|_|_|/
| |/| | | |
| | | | | | |
Swap `#users` jQuery selector to correct position and prevent the escaping of HTML.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Avoid extra package install
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Some tests are running yarn install during the test.
The directory used for isolation test is not subject to yarn workspace,
and it occurs because the required package is not installed.
In order to avoid this, I fixed all necessary packages to be installed
before run test and use symlink to `node_modules`.
This is a bit complicated, as `yarn install` needs to be run in a specific
directory before running the test.
However, running `yarn install` every time run the test is expensive
when testing locally and should be avoided.
|
| | | | | | | |
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
SQLite3: Implement `add_foreign_key` and `remove_foreign_key`
|