| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
In `app:update`, it is decided whether to skip depending on whether
`Spring` is defined or not.
However, `spring` is not currently specified in Gemfile. As a result,
`app:update` determines that `Spring` is not used, and diff appears in
the result file.
If there is a difference, the console for processing the difference is
output and the test stops. To avoid this, do not include `Spring` in app.
This is a bit strange approach, so I will revisit this later.
|
|\
| |
| |
| |
| | |
ryohashimoto/do_not_app_update_in_app_generator_test
Do not execute `rails app:update` in railties/test/generators/app_generator_test.rb
|
| |
| |
| |
| | |
app:update` in app_generator_test.rb
|
|\ \
| | |
| | | |
make change_column_comment and change_table_comment invertible
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We can revert migrations using `change_column_comment` or
`change_table_comment` at current master.
However, results are not what we expect: comments are remained in new
status.
This change tells previous comment to these methods in a way like
`change_column_default`.
|
| | |
| | |
| | |
| | |
| | | |
The mock is called three times because the `spring_install?` call has
been added in 65344f254cde87950c7f176cb7aa09c002a6f882.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
All transaction states (:committed, :fully_committed, :rolledback,
:fully_rolledback) are mutually exclusive.
And also, `force_clear_transaction_record_state` should clear
`@transaction_state` as well.
|
| | | |
|
|\ \ \
| | | |
| | | | |
Make `Redis.cache.fetch_multi([])` not throw an error
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When trying to call mget in Redis without any
parameters, a Redis error is thrown. To avoid
this, we circumvent Redis entirely when there
are no key names given.
|
| | | |
| | | |
| | | | |
It's unusable and not ready to ship in Rails 6.0. We'll rewrite it for 6.1.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
shioyama/avoid_acceptance_validator_module_inclusion_in_tests
Ensure acceptance validator is not applied more than once to Person
|
| | | | | |
|
|/ / / /
| | | |
| | | |
| | | | |
`set_transaction_state`
|
|\ \ \ \
| | | | |
| | | | | |
Use individual execution counters when calculating retry delay
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Individual execution counters were introduced in #34352. However
`#determine_delay` which is used to calculate retry delay still uses the
global counter. This commit fixes it.
|
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
`add_to_transaction` was added at da840d1, but it should not be called
by except internal, since `remember_transaction_record_state` should be
called only once before saving.
And also, currently `add_to_transaction` doesn't always add the record
to transaction since da8de91, that is the reason hard to use that even
in internal.
Even if `add_to_transaction` ensure to add the record to transaction,
that is an internal concern, people don't need to explicitly call
`add_to_transaction`.
|
| | | |
| | | |
| | | |
| | | | |
See rationale in the warning message included in the patch.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
shioyama/apply_acceptance_validator_to_subclasses_in_tests
Ensure multiple anonymous modules are not included into test classes
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Each acceptance validator applied to a model class includes an instance
of a module builder (LazilyDefineAttributes) into that class. In tests,
if the original model class is not subclassed, these modules pile up and
cannot be removed, potentially leading to flakey specs and false
positive/negatives.
To avoid this, always use subclasses in tests whose names (constants)
can be removed when the test is done.
|
|\ \ \ \
| | | | |
| | | | | |
Add validation to subclass in tests to avoid polluting parent class
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
These two tests currently both define acceptance validators on the same
class, Topic. This means that in either one test or the other, there are
not one but *two* instances of the LazilyDefineAttributes module
builder in the class' ancestors, which can result in unpredictable
results.
Subclassing Topic in each test avoids conflicts.
|
|\ \ \ \ \
| |_|_|_|/
|/| | | | |
use PostgreSQL's bulk_alter_table implementation
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Running this migration on mysql at current master fails
because `add_references_for_alter` is missing.
```
change_table :users, bulk: true do |t|
t.references :article
end
```
This is also true for postgresql adapter,
but its `bulk_alter_table` implementation can fallback in such case.
postgresql's implementation is desirable to prevent unknown failure like this.
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Fix Code Climate exclude patterns config
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I removed `exclude_paths` by a737143. But I had mistaken that exclude paths
would not be used if removed `exclude_paths` config.
However, in the absence of `exclude_paths`, the default setting used and
it contains `test`.
https://docs.codeclimate.com/docs/advanced-configuration#section-exclude-patterns
https://docs.codeclimate.com/docs/excluding-files-and-folders#section-auto-generated-file-and-folder-exclusions
As we need to target the tests, specify an empty array to prevent the
default from being used.
|
| | | |
| | | |
| | | |
| | | | |
Somehow Code Climate is not working as expected for now?
|
|\ \ \ \
| | | | |
| | | | | |
Rename method_missing_target to target
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Most of the time, these methods are called from actual methods defined
from columns in the schema, not from method_missing, so the current
wording is misleading.
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The target of matchers is used in two contexts: to define attribute
methods which dispatch to handlers like attribute_was, and to match
method calls in method_missing and dispatch to those same handler
methods.
Only in the latter context does the term "method_missing_target" make
any sense; in the former context it is just confusing. "target" is not
ideal as a term but at least it avoids this confusion.
|
| | | |
| | | |
| | | |
| | | | |
For avoid to show `environment_desc` in help.
|
| | | |
| | | |
| | | |
| | | | |
This fix is necessary to test precision's default correctly.
|
|\ \ \ \
| | | | |
| | | | | |
Fix test flakyness due to `test_truncate_tables`
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
`Truncate Tables posts` will also reset the `AUTOINCREMENT` this causes
a situation where if a test suite that uses the `taggings` fixtures runs
and subsequently the `test_truncate_tables` run, newly created posts
would reference the `tagging` in the database. This commit resest the
state of the posts table after the `connection.truncate` call in the
`test_truncate_tables`, as well as all other tests that call `trucate`
This ensures the associations and db state remain consistent after the
tests.
Fixes: https://github.com/rails/rails/issues/35941
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
shioyama/remove_method_name_from_attribute_method_match
Remove unused method_name from AttributeMethodMatch
|
|/ / / |
|
|\ \ \
| |/ /
|/| | |
Squash `warning: instance variable @filename not initialized`
|
| |/ |
|
|\ \
| | |
| | |
| | |
| | | |
kamipo/lazy_sync_with_transaction_state_on_destroy
Lazy sync with transaction state on destroy
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 58410b3d566e6b93c7b71c0eec0fc11ec906b68e.
If we have any implicit commit/rollback callbacks, it is necessary to
add record to transaction explicitly like `:touch_deferred_attributes`.
https://github.com/rails/rails/blob/5f261d04d6f857d49c75124df809adfbd6cd5b5e/activerecord/lib/active_record/touch_later.rb#L9
https://github.com/rails/rails/blob/5f261d04d6f857d49c75124df809adfbd6cd5b5e/activerecord/lib/active_record/touch_later.rb#L25
But I can't find any other implicit commit/rollback callbacks in our
code base at least now.
I think the `self.class.connection.add_transaction_record(self)` line
doesn't cover any behavior.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
kamipo/dont_call_commit_callbacks_for_invalid_record
Don't call after_commit callbacks despite a record isn't saved
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Regardless of a record isn't saved (e.g. validation is failed),
`after_commit` / `after_rollback` callbacks are invoked for now.
To fix the issue, this adds a record to the current transaction only
when a record is actually saved.
Fixes #29747.
Closes #29833.
|
|\ \ \ \
| | | | |
| | | | | |
Fix `automatic_inverse_of` not to be disabled if extension block is given
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If an association has a scope, `automatic_inverse_of` is to be disabled.
But extension block is obviously not a scope. It should not be regarded
as a scope.
Fixes #28806.
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
* remove useless `@type_metadata` and `@array`
* move the compatibility code (for array) into column
* etc.
|
|\ \ \
| | | |
| | | | |
Remove lock from method model
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Rename "method" to "matcher" in map block
|
|/ / / / |
|
|\ \ \ \
| | | | |
| | | | | |
Introduce Template::Source::File, replacing FileTemplate and Template#refresh
|