| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
I removed redundant `Array.wrap(records)` since `Preloader` is nodoc
class and Active Record always pass `records` as an array to
`Preloader`.
But if users relies on that behavior, it is not worth dropping its
behavior.
Fixes #31661.
|
|\
| |
| | |
Fix performance issue with NameError#missing_name on ruby >= v2.3.0.
|
| |
| |
| |
| |
| | |
Since ruby v2.3.0 `did_you_mean` gem shipped and ENABLED by default.
It patches NameError#message with spell corrections which are SLOW.
|
|\ \
| | |
| | | |
Consistency between first() and last() with limit
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Don't include Active Storage migrations in new apps
|
| | |
| | |
| | |
| | |
| | |
| | | |
When a user tries to create a new attachment or blog and the matching table is missing from the database
(`active_storage_attachments` and `active_storage_blobs` by default), an informative error is displayed
that invites users to run the `active_storage:install` task.
|
| | |
| | |
| | |
| | | |
See #31315 for full discussion
|
|\ \ \
| | | |
| | | | |
Change Active Storage destroy callbacks
|
|/ / /
| | |
| | |
| | |
| | | |
There is concern that only blob are deleted depending on
the `before_destroy` definition order which throws abort.
|
| | | |
|
| | |
| | |
| | |
| | | |
To pick up 21417e02e906f6b64f013aafefdc0cb8ea8b5e74
|
| | |
| | |
| | |
| | |
| | |
| | | |
#31393
Brought to you by a 12 year old Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=329509
|
| | |
| | |
| | |
| | |
| | |
| | | |
Explicitly declare inverse associations so ActiveStorage::Attachment touches the original record instance.
Closes #31542.
|
|\ \ \
| | | |
| | | | |
Allow overriding filename in `Blob#service_url`
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
This is useful when we have several representations for the same
underlying file, each one with a different name, and we need to provide
a custom download URL based on that name and not that of the underlying
file.
|
|\ \ \
| | | |
| | | |
| | | | |
Fix rubocop space before comma
|
|/ / / |
|
| | |
| | |
| | |
| | | |
`ActiveSupport::OrderedOptions` responds to any message.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
eugeneius/use_authenticated_message_encryption_new_framework_defaults
Allow use_authenticated_message_encryption to be set in new_framework_defaults_5_2.rb
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
new_framework_defaults_5_2.rb
Enabling this option in new_framework_defaults_5_2.rb didn't work
before, as railtie initializers run before application initializers.
Using `respond_to?` to decide whether to set the option wasn't working
either, as `ActiveSupport::OrderedOptions` responds to any message.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
prathamesh-sonpatki/improve-deprecation-msg-pr-29358
Improve the deprecation message for using subclass of Rails::Application to start the Rails server
|
| | | |
| | | |
| | | |
| | | | |
start the Rails server
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently deleting through records doesn't respect `source_type`. It
should not be ignored in that case.
Related #23209.
Fixes #24116.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
We can use `relation.last(index)[-index]` instead of loading all records
when using reversible order because `last` will call `reverse_order`.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Currently `last` with `offset` behaves incorrectly because `offset` can
not be reversed like `limit`. Therefore, `offset` should also be handled
like `limit`.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Commit 4ec5b0d was for fixing the regression #18787, but #28379 fixes
#18787 as well. So 4ec5b0d is no longer necessary.
|
|\ \ \
| | | |
| | | | |
Force :attachment as content disposition for some content types
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In this way we avoid HTML, XML, SVG and other files that can be rendered
by the browser to be served inline by default. Depending on the origin
from where these files are served, this might lead to XSS
vulnerabilities, and in the best case, to more realistic phishing
attacks and open redirects.
We force it rather than falling back to it when other disposition is not
provided. Otherwise it would be possible for someone to force inline
just by passing `disposition=inline` in the URL.
The list of content types to be served as attachments is configurable.
|
| | |
| | |
| | |
| | |
| | | |
Since #25037, `queue_adapter=` simply delegates to `interpret_adapter`
only.
|
|\ \ \
| | | |
| | | | |
Add missing require for `strip_heredoc`
|
|/ / / |
|
| | |
| | |
| | |
| | | |
Follow up of 09cac8c67afdc4b2a1c6ae07931ddc082629b277.
|
| | |
| | |
| | |
| | |
| | |
| | | |
- And move the Active Job related section down. Otherwise it was
appearing as if the options are available for the `delivery_job`
setting.
|
| | |
| | |
| | |
| | |
| | | |
This is a partial revert of #26182. There is no reason to change the
default value.
|
|\ \ \
| | | |
| | | | |
Add support for multiple encodings in String.blank?
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Motivation:
- When strings are encoded with `.encode("UTF-16LE")` `.blank?` throws
an `Encoding::CompatibilityError` exception.
- We tested multiple implementation to see what the fastest
implementation was, rescueing the execption seems to be the fastest
option we could find.
Related Issues:
- #28953
Changes:
- Add a rescue to catch the exception.
- Added a `Concurrent::Map` to store a cache of encoded regex objects
for requested encoding types.
- Use the new `Concurrent::Map` cache to return the correct regex for
the string being checked.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
danielma/dma/assert-changes-with-to-should-still-assert-change
`assert_changes` should always assert some change
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
While using `assert_changes`, I came across some unexpected behavior:
if you provide a `to:` argument, and the expression matches but didn't
actually change, the assertion will pass.
The way `assert_changes` reads, I assumed that it would both assert
that there was any change at all, _and_ that the expression changed to
match my `to:` argument.
In the case of just a `from:` argument, `assert_changes` does what I
expect as well. It asserts that the before value `=== from` and that
the after value changed.
My key change is that `assert_changes` will now _always_ assert that
expression changes, no matter what combination of `from:` and `to:`
arguments
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Currently reflections keeps the order when first added even if when
redefining association. As a result of the order, redefining through
association which use newly added association will raise
`HasManyThroughOrderError`. We need to redefine reflection order as well
when redefining association.
Fixes #31068.
|