| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
Fix cookie modification during rotation
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
- The sanitizer has been changed to safe_list_sanitizer.
- deprecate white_list_sanitizer
|
| |
| |
| |
| | |
indexes
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added the ability to initialize `thread_mattr_*` methods with default
values like so:
``` ruby
class MyClass
thread_attr_reader :foo, default: :foo
thread_attr_writer :bar, default: :bar
thread_attr_accessor: baz do
"baz"
end
end
```
This is consistent with the api exposed by `mattr_accessor`.
|
| | |
|
|\ \
| | |
| | | |
Fix `PG::ConnectionBad` error when running fixtures
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
At first this appeared to be a multi-db bug but after some invesitgation
it was clear that this can occur just by calling `establish_connection`
from ApplicationRecord.
After some investigation we found that this only occurred when using
fixtures. The console boots fine, the server runs fine, and the tests
even run fine if we used paralellization or eager loading in the tests.
I tracked the issue down to the line that calls
`self.connection_specification_name = name` in the SchemaMigration
changes for Rails 6.0. But how can this be? That is not that major of a
change? How could `connection_specification_name` be a problem?
First `connection_specification_name` caches the name of the connection
specificatio. Second, fixtures were incorrectly holding onto a reference
to that connection.
So when you went to run the tests the models wouldn't be connected and
when the fixtures tried to load the data it would choke on that
unconnected database.
The changes here move the connection into a lambda so we can call it
when we need it rather than blowing up before the model is connected.
Fixes #36743
Co-authored-by: Aaron Patterson <aaron.patterson@gmail.com>
|
|\ \ \
| | | |
| | | | |
Use media_type instead of content_type internally
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
These calls to `content_type` were triggering the deprecation from
c631e8d011a7cf3e7ade4e9e8db56d2b89bd530c in upgraded applications.
We can use `media_type` in all of these cases to avoid the deprecation.
|
| | | | |
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Didn't like the complicated stuff that happened on credentials:edit. It
would append to .gitattributes multiple times. Though I see why it was
written that way.
I'm cutting off for now, but since this new flow would require each developer
to run --enable perhaps this should really be:
1. Developer enrolls Rails app by running `credentials:diff --enable`
2. credentials:edit checks .gitattributes for `diff=rails_credentials` and
if the current file is covered by that.
3. If so, set up the "rails_credentials" driver automatically.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Helpers is more for sharing between commands. Since `Diffing` is only
for credentials we should just keep it only for credentials.
Replaces "pretty" with diffing since the former is ambiguous, while
diffing captures what it does. `opt_in` seemed clunky so it's swapped
for the one-word enable.
|
|\ \ \
| | | |
| | | | |
Address `DEPRECATED: Use assert_nil if expecting nil`
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
```ruby
$ cd activerecord
$ bin/test test/cases/dirty_test.rb:494
... snip ...
DEPRECATED: Use assert_nil if expecting nil from /home/yahonda/git/rails/activerecord/test/cases/dirty_test.rb:494. This will fail in Minitest 6.
DEPRECATED: Use assert_nil if expecting nil from /home/yahonda/git/rails/activerecord/test/cases/dirty_test.rb:511. This will fail in Minitest 6.
.
Finished in 0.061593s, 16.2356 runs/s, 795.5428 assertions/s.
1 runs, 49 assertions, 0 failures, 0 errors, 0 skips
$
```
Refer seattlerb/minitest#666 rails/rails#27712
|
|\ \ \
| |/ /
|/| | |
typo in word compatibily -> compatibility [ci skip]
|
|/ / |
|
| |
| |
| |
| |
| |
| | |
Usually the application requires the entire active support at load time
but the configuration happens before it is loaded. For that reason we
need to require the core_ext that we want to use in this file.
|
|\ \
| | |
| | |
| | |
| | | |
eileencodes/add-ability-to-unset-preventing-writes
Add ability to unset preventing writes
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously if an app attempts to do a write inside a read request it will be
impossilbe to switch back to writing to the primary. This PR adds an
argument to the `while_preventing_writes` so that we can make sure to
turn it off if we're doing a write on a primary.
Fixes #36830
Co-authored-by: John Crepezzi <john.crepezzi@gmail.com>
|
|\ \
| | |
| | | |
Introduce InvalidConfigurationError
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In our app at work we had a faked config like this:
```
{ "foo" => :bar, "bar" => { "adapter" => "memory" } }
```
This config is invalid. You can't say for foo env just have a symbol,
nor would this work if you had fa foo env with just a string. A
configuration must be a url or an adapter or a database. Otherwise it's
invalid and we can't parse it.
When this was just yaml turned into hashes you could get away with
passing whatever. It wouldn't work but it wouldn't blow up either.
Now that we're using objects we were returning `nil` for these but that
just means we either blow up on `for_current_env` or compact the
`nil`'s.
I think it's a better user experience to not build the configs and raise
an appropriate error.
This is also an invalid config because if you do pass a string here it
should be a URL.
```
{ "foo" => "bar", "bar" => { "adapter" => "memory" } }
```
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
This reverts commit dd779c9686f49f5ed6dda8ad5a1cb3b0788e1dd4.
|
| | |
| | |
| | |
| | |
| | |
| | | |
ActiveSupport::TestCase now"
This reverts commit 98d0f7ebd34b858f12a12dcf37ae54fdbb5cab64.
|
| | |
| | |
| | |
| | | |
This reverts commit 8d2866bb80fbe81acb04f5b0c44f152f571fb29f.
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Remove duplicate method definition
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
no_color! is already defined in [`Rails::Command::Behavior`][behavior],
which gets [included into `Rails:Generators`][include]. This duplication
came about in 6813edc7d9 when we introduced the Thor command structure.
We have [test coverage][] to ensure this method still behaves correctly
on `Rails:Generators`.
[behavior]: https://github.com/rails/rails/blob/f7e91c7224560fbd3e95c238a0e8bb362799bcb7/railties/lib/rails/command/behavior.rb#L12-L14
[include]: https://github.com/rails/rails/blob/f7e91c7224560fbd3e95c238a0e8bb362799bcb7/railties/lib/rails/generators.rb#L18
[test coverage]: https://github.com/rails/rails/blob/f7e91c7224560fbd3e95c238a0e8bb362799bcb7/railties/test/generators_test.rb#L163-L168
|
| | | |
| | | |
| | | |
| | | | |
To avoid "uninitialized constant ActiveSupport::Testing (NameError)"
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Add tests for selecting aggregrates
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
These tests verifies that aggregates like `AVG` can be selected as
"virtual attributes" on Active Record models and have the correct
column type.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
extension test
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This hack prevails everywhere in the codebase by being copy & pasted, and it's actually not a negative thing but a necessary thing for framework implementors,
so it should better have a name and be a thing.
And with this commit, activesupport/test/abstract_unit.rb now doesn't silently autoload AS::TestCase,
so we're ready to establish clearner environment for running AS tests (probably in later commits)
|
| |/ /
|/| |
| | |
| | | |
It's used everywhere, clean and mature enough
|
|\ \ \
| |/ /
|/| | |
Deduplicate joins values
|