| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the association is autosaved we were storing the details with
string keys. This was creating inconsistency with other details that are
added using the `Errors#add` method. It was also inconsistent with the
`Errors#messages` storage.
To fix this inconsistency we are always storing with symbols. This will
cause a small breaking change because in those cases the details could
be accessed as strings keys but now it can not.
The reason that we chose to do this breaking change is because `#details`
should be considered a low level object like `#messages` is.
Fix #26499.
[Rafael Mendonça França + Marcus Vieira]
|
|\ \
| | |
| | | |
Reduce array allocation when `where` with passed hash
|
| | |
| | |
| | |
| | |
| | | |
In most case `where` is called with passed hash. In the case
initializing `binds` is unnecessary.
|
|\ \ \
| | | |
| | | | |
Remove unnecessry `alias uniq distinct` for collection association
|
| |/ /
| | |
| | |
| | | |
`CollectionAssociation` is internal class and `uniq` is not called.
|
|\ \ \
| | | |
| | | | |
Rename variable name that returning `type_for` to `type` from `column`
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
`column_for` was changed to `type_for` to return `type` object at
36bd52b4. But variable name is still `column`. It is very confusing.
Rename variable name `column` to `type` for readability.
|
|\ \ \
| | | |
| | | | |
Clear attribute changes after handling locking
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Without this the changes to the lock version column will stick around
even after `touch` returns.
Before:
model.touch
model.changes
# => {"lock_version"=>[0, "1"]}
After:
model.touch
model.changes
# {}
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
assert [1, 3].includes?(2) fails with unhelpful "Asserting failed" message
assert_includes [1, 3], 2 fails with "Expected [1, 3] to include 2" which makes it easier to debug and more obvious what went wrong
|
| | | |
| | | |
| | | |
| | | | |
[fixes #26441]
|
|/ / / |
|
| | |
| | |
| | |
| | |
| | |
| | | |
All indentation was normalized by rubocop auto-correct at 80e66cc4d90bf8c15d1a5f6e3152e90147f00772.
But comments was still kept absolute position. This commit aligns
comments with method definitions for consistency.
|
| | |
| | |
| | |
| | | |
after `/' operator`
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
close it (#26473)
* activerecord/mysql2: Avoid setting @connection to nil, just close it
Backport of https://github.com/rails/rails/pull/26434
* Add a CHANGELOG entry
|
|\ \ \
| | | |
| | | | |
remove duplicated fixture set names
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If using namespaced fixtures, get following Ruby warning.
```
activerecord/lib/active_record/fixtures.rb:922: warning: method redefined; discarding old admin_foos
activerecord/lib/active_record/fixtures.rb:922: warning: previous definition of admin_foos was here
```
This is happening because of the multiple set the same path when setting the
fixture name. Fix to remove the duplicate path.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
kamipo/remove_useless_test_string_with_crazy_column
Remove useless `test_string_with_crazy_column`
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
Passing `FakeColumn` was removed at #15336 therefore
`test_string_with_crazy_column` is duplicated with
`test_quote_string_no_column`.
|
|\ \ \ \
| | | | |
| | | | | |
activerecord/mysql2: Avoid setting @connection to nil, just close it
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
By doing `@connection = nil` that means that we need nil checks before it
is used anywhere, but we weren't doing those checks. Instead, we get a
NoMethodError after using a connection after it fails to reconnect.
Neither of the other adapters set @connection to nil, just the mysql2
adapter. By just closing it, we avoid the need to check if we have a
connection object and it will produce an appropriate exception when used.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Add tests for ActiveRecord::Enum#enum when suffix specified
|
| | |/ / /
| |/| | |
| | | | |
| | | | | |
Make name of attribute medium instead of normal
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Remove unused `require "thread"` in `test/cases/attribute_methods/read_test.rb`
|
| |/ / / /
| | | | |
| | | | |
| | | | | |
`Mutex` was removed at 8eb7561ac6e8f020ec09608532de310c6b0b8dcd.
|
|/ / / /
| | | |
| | | |
| | | | |
The `elsif` branch is completely duplicated with `else` branch.
|
| |/ /
|/| |
| | |
| | | |
This comment was added at eaf5486 but already implemented.
|
|\ \ \
| |/ /
|/| | |
Pass `set_inverse_instance` block to `sc.execute` for `SingularAssociation`
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Follow up to caa178c.
caa178c updated all code which sets inverse instances on newly loaded
associations to use block. But `SingularAssociation` was forgotten it.
|
| | | |
|
|\ \ \
| |_|/
|/| | |
[ci skip] Remove duplicate example.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Recently, the Rails team made an effort to keep the source code consistent, using Ruboco
(bb1ecdcc677bf6e68e0252505509c089619b5b90 and below). Some of the case
statements were missed.
This changes the case statements' formatting and is consistent with changes
in 810dff7c9fa9b2a38eb1560ce0378d760529ee6b and db63406cb007ab3756d2a96d2e0b5d4e777f8231.
|
|\ \ \
| | | |
| | | | |
Remove redundant `!loaded?` condition
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Already checked `if !find_target? || loaded?`, unnecessary `!loaded?` in
elsif condition.
|
|/ / /
| | |
| | |
| | |
| | | |
Bang methods of `AR::QueryMethods` are used only internally.
We only use `left_outer_joins!`, so we can remove this alias.
|
|\ \ \
| | | |
| | | | |
Move `require "models/post"` before `require "models/comment"`
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
"models/comment"`
to address BasicsTest#test_readonly_attributes failure #26368
It reproduces only when both of these conditions are satisfied:
- Other test files `autosave_association_test.rb` or `where_test.rb`
which executes `require "models/comment"` then `require "models/post"`
- When `autosave_association_test.rb` or `where_test.rb` executed before `base_test.rb`
|
|\ \ \
| |_|/
|/| | |
Remove unnecessary `query_scope`
|
| | | |
|
| | |
| | |
| | |
| | | |
Simply use its own method because `CollectionProxy` inherits `Relation`.
|
| | | |
|
| |/
|/|
| |
| |
| |
| | |
All indentation was normalized by rubocop auto-correct at 80e66cc4d90bf8c15d1a5f6e3152e90147f00772.
But heredocs was still kept absolute position. This commit aligns
heredocs indentation for consistency.
|
| | |
|
| | |
|
| |
| |
| |
| | |
The fact that this only includes column names is an oversight.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There are some minor changes to the point type as I had forgotten that
this will affect the behavior of `t.point` in migrations and the schema
dumper so we need to handle those as well.
I'll say this again so I can convince myself to come up with a better
structure... TYPES SHOULD NOT CARE ABOUT SCHEMA DUMPING AND WE NEED TO
BETTER SEPARATE THESE.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 3a1f6fe7b4a70bf0698b0684dd48ac712c6883b6.
This commit takes the code in a direction that I am looking to avoid.
The predicate builder should be purely concerned with AST construction
as it matters to methods like `where`. Things like case sensitivity
should continue to be handled elsewhere.
|