| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This commit fixes a regression where when the `DATABASE_URL` environment
variable was set and the current Rails environment had a valid configuration
defined in the database config, settings from the environment variable would
affect _all_ environments (not just the current one).
|
|\
| |
| | |
Use connection.error_number in MySQLDatabaseTasks
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MySQLDatabaseTasks, like AbstractMysqlAdapter, should be able to operate
on any mysql adapter, not just mysql2. Errors having a .error_number
attribute is a mysql2 specific API, which we (Rails) don't control, so
we should instead use connection.error_number(err), which we do.
This also updates tests to better test how this really works, previously
it stubbed create_database to raise Tasks::DatabaseAlreadyExists, which
can never happen.
|
| | |
|
| |
| |
| |
| |
| |
| | |
Simplifies the surrounding code outside `convert_value`.
Ref: https://github.com/rails/rails/pull/36758
|
|\ \
| | |
| | |
| | |
| | |
| | | |
edudepetris/ed/36272-better-negative-scope-warning
Add a warning for enum elements with 'not_' prefix.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When a enum element contains the prefix 'not_'. I warns to users
to be aware of this new feature.
Example code:
class Foo < ActiveRecord::Base
enum status: [:sent, :not_sent]
end
|
| | | |
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* read config/webpacker.yml to determine which path to exclude for zeitwerk:check
* fix test errors
* more changes to fix test errors
* refactor webpacker_path
[Andrew Kress + Rafael Mendonça França]
|
|\ \
| | |
| | | |
Merge payload for EventObject subscribers
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When instrumenting a block of code like:
```ruby
ActiveSupport::Notifications.instrument("process_action.action_controller", raw_paylaod) do |payload|
payload[:view_runtime] = render_view
end
```
If we use an evented subscriber like so:
``` ruby
ActiveSupport::Notifications.subscribe("process_action.action_controller", raw_payload) do |event|
assert event.payload[:view_runtime]
end
```
The code breaks because the underlying EventObject's payload does not have the
`:view_runtime` key added during instrumentation.
This is because the `EventedObject` subscriber calls the `finish` method with the
`payload` of the event at the time it was pushed into the stack, before the
block executes, but we want to call `finish` with the `payload` after the
instrument block executes this way if the `payload` was modified during the block
we have access to it. This is consistent with the other types of subscribers
who don't have this bug.
|
|\ \ \
| | | |
| | | |
| | | | |
Add compact_blank shortcut for reject(&:blank?)
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I frequently find myself having to .compact but for blank. which means
on an array reject(&:blank?) (this is fine), or,
on a hash `.reject { |_k, v| v.blank? }` which is slightly more
frustrating and i usually write it as .reject(&:blank?) first and am
confused when it's trying to check if the keys are blank.
I've added the analagous .compact_blank! where there's a reject! to
build on (there's also a reject! in Set, but there's no other core_ext
touching Set so i've left that alone)
|
|\ \ \ \
| | | | |
| | | | | |
Avoid unnecessary hash allocation in HashWithIndifferentAccess#convert_value
|
| | | | |
| | | | |
| | | | |
| | | | | |
options
|
|\ \ \ \ \
| | | | | |
| | | | | | |
fix `follow_redirect!` not using the same HTTP verb on 307 redirection:
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
- According to the HTTP 1.1 spec, the 307 redirection guarantees that
the method and the body will not be changed during redirection.
This PR fixes that since follow_redirect! would always follow the
redirection my making a GET request.
Ref https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/307
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
Optimize DescendantsArray insertions
|
| | | | | | |
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
In #36560 I accidentally re-introduced a bug where ActiveRecord can't be
used without Rails. This returns an empty hash if we're outside the
context of Rails since we can't create the database tasks without
loading and reading the database yaml which is something only Railties
can do.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
[ci skip] collection_radio_buttons options example
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | | |
Added example of how to access an option attibute passed to builder in case the person wants to add a custom style to a programatically checked value e.g.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
stanhu/sh-fix-index-exists-postgresql-partial-index
Fix index_exists? for PostgreSQL expression indexes
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Previously Rails expected indexes to be an array of columns, but for
PostgreSQL a expression index can just be a string of text. Handle this
by forcing `Index#columns` to be an Array inside `index_exists?`.
Closes #36739
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Remove unused `DepthFirst` visitor
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
We only use `ToSQL` visitors in the our codebase, do not use
`DepthFirst` and `Dot` visitors.
The `DepthFirst` visitor (which was introduced at c86c37e5f) is used to
traverse an Arel (partial) ast with depth first.
Is there any worth to keep that undocumented feature with much code and
test cases.
This removes that unused `DepthFirst` code and test cases.
|
| |_|/ / / / /
|/| | | | | |
| | | | | | | |
It's intended not to be set if Capybara starts the app server itself. Base Rails-generated URLs off of Capybara.current_session.server_url instead.
|
|\ \ \ \ \ \ \
| |_|_|/ / / /
|/| | | | | | |
Fix multiple database support for DATABASE_URL env variable
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This commit fixes an issue where multi-database configurations were
incompatible with setting a `DATABASE_URL` environment variable.
As part of this work, this commit also includes a light refactor
to make both multi and single database configurations lead into the same
code path so they behave the same.
As mentioned in #36736, this regression was introduced as part of
f2ad69fe7a605b01bb7c37eeac6a9b4e7deb488e
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Make ActiveSupport::Logger Fiber-safe
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Use Fiber.current.__id__ in ActiveSupport::Logger#local_level= in order
to make log level local to Ruby Fibers in addition to Threads.
|
|\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Add warning about using UUIDs with activestorage
|
| | | | | | | | | |
|
|\ \ \ \ \ \ \ \ \
| |_|/ / / / / / /
|/| | | | | | | | |
Update docs with warning on ActiveStorage Content-Disposition override
|
| | | | | | | | | |
|
| |/ / / / / / / |
|
|\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Also deduplicate schema cache structure when they are read from the database
|
| | | | | | | | | |
|
|\ \ \ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
okuramasafumi/add-middleware-command-to-command-line-guide
Add `rails initializers` and `rails middleware` to miscellaneous section in Rails Command Line guide [ci skip]
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Add these two command:
* `rails initializers`
* `rails middleware`
|
|\ \ \ \ \ \ \ \ \ \
| | | | | | | | | | |
| | | | | | | | | | | |
Add content_type to upload method for Azure
|
| | | | | | | | | | | |
|
|\ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
wjessop/do_not_validate_non_dirty_association_targets
Don't validate non dirty association targets
|
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
Fixes #36581.
This fixes an issue where validations would return differently when a previously saved invalid association was loaded between calls:
assert_equal true, squeak.valid?
assert_equal true, squeak.mouse.present?
assert_equal true, squeak.valid?
Here the second assert would return
Expected: true
Actual: false
Limiting validations to associations that would be normally saved (using autosave: true) due to changes means that loading invalid associated relations will not change the return value of the parent relations's `valid?` method.
|
|\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | |
| | | | | | | | | | | | | |
Add common sensitive names to generated filter parameters
|
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | | |
These added names are distilled from the filter_parameters config of a
number of open source Rails applications.
|
| | | | | | | | | | | | | |
|
|\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | | |
| | | | | | | | | | | | | | |
Introduce a new ActiveSupport::SecureCompareRotator class:
|