| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
It is the last major release series.
|
|\
| |
| | |
Prevent changes_to_save from mutating attributes
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When an array of hashes is added to a `HashWithIndifferentAccess`, the
hashes are replaced with HWIAs by mutating the array in place.
If an attribute's value is an array of hashes, `changes_to_save` will
convert it to an array of HWIAs as a side-effect of adding it to the
changes hash.
Using `merge!` instead of `[]=` fixes the problem, as `merge!` copies
any array values in the provided hash instead of mutating them.
|
|\ \
| | |
| | |
| | |
| | | |
bogdanvlviv/add-test_request_format_kwarg_doesnt_mutate_params
Add `TestCaseTest#test_request_format_kwarg_doesnt_mutate_params` to master
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Initially, the test was added to 5-0-stable in #32492
and a bit modified in #32506. This test ensures that request(in tests)
doesn't mutate params. It was fixed since v5.1.0.beta1 by
98b8309569a326910a723f521911e54994b112fb and then on 5-0-stable by #32492.
This commit adds this test to master branch in order to prevent any
regressions.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
Correct Maintenance Policy for Rails 5.2
[ci skip]
|
| |/ / |
|
|\ \ \
| |/ /
|/| | |
Update bug report templates
|
|/ /
| |
| |
| | |
Set Rails 5.2.0 in templates
|
|\ \
| | |
| | |
| | | |
Only disable headless chrome gpu on Windows
|
| | |
| | |
| | | |
Per Chromium team this has not been necessary on other platforms for quite some time: https://bugs.chromium.org/p/chromium/issues/detail?id=737678#c1
|
| | |
| | |
| | |
| | |
| | |
| | | |
This was causing single db applications to have rake tasks named
`db:create:primary`. These tasks are only useful to multiple database
applications so they shouldn't be generated.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
I realized I wasn't really testing some of the new rake tasks added so I
built out this new test that uses a multi-db database.yml and allows us
to run create/drop/migrate/schema:dump/schema:load and those that are
namespaced like create:animals. This will make our testing more robust
so we can catch problems quicker and set a good place to add future
tests as these features evolve.
|
| | |
| | |
| | |
| | |
| | | |
Pass the spec name to load_schema in order to load from the correct
structure file when there are multiple databases
|
|\ \ \
| | | |
| | | | |
Improve the null origin error message
|
|/ / / |
|
|\ \ \
| |_|/
|/| |
| | |
| | | |
eugeneius/mutation_tracker_changed_attribute_names
Avoid generating full changes hash on every save
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`changed_attribute_names_to_save` is called in `keys_for_partial_write`,
which is called on every save when partial writes are enabled.
We can avoid generating the full changes hash by asking the mutation
tracker for just the names of the changed attributes. At minimum this
saves one array allocation per attribute, but will also avoid calling
`Attribute#original_value` which is expensive for serialized attributes.
|
|\ \
| | |
| | | |
Fix leftover references to VariantsController in AS documentation [ci skip]
|
| | |
| | |
| | |
| | |
| | | |
VariantsController has been merged to RepresentationsController, this
PR fixes outdated references to VariantsController in ActiveStorage documentation.
|
|\ \ \
| | | |
| | | | |
Mocha updates
|
| | | |
| | | |
| | | |
| | | | |
Mocha v1.5.0 is currently the latest release.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This has been possible since Mocha v1.0 and makes it clear that we want
Mocha to integrate with Minitest, not Test::Unit.
|
| | | |
| | | |
| | | |
| | | | |
The `require: false` option hasn't been needed since Mocha v1.0.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Because this class includes not only `assert_difference` but also tests
of other assertion methods.
|
|\ \ \ \
| | | | |
| | | | | |
Enable verbose option in ActiveStorage
|
|/ / / / |
|
|\ \ \ \
| |_|_|/
|/| | | |
rewords a bit RDOC_MAIN.rdoc [ci skip]
|
|/ / /
| | |
| | |
| | | |
* Same change as bba832d
|
| |/
|/|
| |
| | |
[LinkedRach, Daniel Colson, Xavier Noria]
|
|\ \
| |/
|/| |
Update URLs in RELEASING_RAILS.md [ci skip]
|
|/
|
|
|
| |
* Use https instead of http with URI scheme for Travis
* Update Url for "Agile Web Development with Rails"
|
|\
| |
| |
| |
| | |
Fix `actionview/CHANGELOG.md`
[ci skip]
|
|/
|
|
|
|
|
|
| |
- Add missing dots at the end of sentences.
- Wrap RecordTagHelper into `.
- `RecordTagHelper` => `ActionView::Helpers::RecordTagHelper`.
[ci skip]
|
|\
| |
| | |
Remove RecordTagHelper
|
| |
| |
| |
| |
| |
| |
| | |
* Since #18411, we started to inform about extracted gem (record_tag_helper)
to developers who use `ActionView::Helpers::RecordTagHelper` 's methods.
* Currently, it seems no problem that we don't have to support no longer.
|
|\ \
| | |
| | | |
Use an ActiveSupport::CurrentAttributes model to provide the host for service urls
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Trying to pass the current request down to the service so that it can
create full urls instead of paths makes the API messy so use a model
based on ActiveSupport::CurrentAttributes to provide the current host
to services that need it (primarily the disk service).
|
| | |
| | |
| | |
| | |
| | | |
The `Capybara.server=` proc acceptance restored in Capyara 3.0.1.
Ref: https://github.com/teamcapybara/capybara/commit/8f115d94e035eca992036f16e50c1dce5f555c97
|
|/ / |
|
| |
| |
| |
| |
| | |
Before it was possible to for example use the direct upload controller
without using the site.
|
| |
| |
| |
| | |
This way we don't need to remember which packages we need to install.
|
|\ \
| | |
| | |
| | |
| | | |
yhirano55/add_securing_rails_app_guide_link_to_credential_section
[ci skip] Add securing rails app guide link to credential section
|
| |/
| |
| |
| | |
* In 5.2 release note, added [securing rails app guide](http://edgeguides.rubyonrails.org/security.html#custom-credentials) link to [credentials section](http://edgeguides.rubyonrails.org/5_2_release_notes.html#credentials).
|
|\ \
| | |
| | | |
Bring back private class methods accessibility in named scope
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The receiver in a scope was changed from `klass` to `relation` itself
for all scopes (named scope, default_scope, and association scope)
behaves consistently.
In addition. Before 5.2, if both an AR model class and a Relation
instance have same named methods (e.g. `arel_attribute`,
`predicate_builder`, etc), named scope doesn't respect relation instance
information.
For example:
```ruby
class Post < ActiveRecord::Base
has_many :comments1, class_name: "RecentComment1"
has_many :comments2, class_name: "RecentComment2"
end
class RecentComment1 < ActiveRecord::Base
self.table_name = "comments"
default_scope { where(arel_attribute(:created_at).gteq(2.weeks.ago)) }
end
class RecentComment2 < ActiveRecord::Base
self.table_name = "comments"
default_scope { recent_updated }
scope :recent_updated, -> { where(arel_attribute(:updated_at).gteq(2.weeks.ago)) }
end
```
If eager loading `Post.eager_load(:comments1, :comments2).to_a`,
`:comments1` (default_scope) respects aliased table name, but
`:comments2` (using named scope) may not work correctly since named
scope doesn't respect relation instance information. See also 801ccab.
But this is a breaking change between releases without deprecation.
I decided to bring back private class methods accessibility in named
scope.
Fixes #31740.
Fixes #32331.
|
|\ \ \
| | | |
| | | | |
`SetupAndTeardown#teardown` should call any subsequent after_teardown:
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If you have a regular test that have a teardown block, and for any reason an exception get raised, ActiveSupport will not run subsequent after_teardown method provided by other module or gems.
One of them being the ActiveRecord::TestFixtures which won't rollback the transation when the test ends making all subsequent test to be in a weird state.
The default implementation of minitest is to run all teardown methods from the user's test, rescue all exceptions, run all after_teardown methods provided by libraries and finally re-raise the exception that happened in the user's teardown method.
Rails should do the same.
|