This makes scoping consistent with ActiveRecord::Relation#update.
ActiveRecord::Relation#update was defined specifically to avoid this
unexpected scoping in Active Record callbacks triggered from the update
which otherwise get introduced by ActiveRecord::Relation#method_missing.
It's fully based on Rails, so not really possible to run in any other way.
Thanks to that it is simple, yet powerfull.
It's very well maintained and used in production systems by many people.
[ci skip]
ruby/debug is a new debugger that is going to ship with CRuby.
It makes sense for Rails to switch to this one because that is
where the language is heading, and because Byebug is not fully
compatible with Zeitwerk. See
https://github.com/deivid-rodriguez/byebug/issues/564
While ruby/debug has not been heavily tested with Zeitwerk,
casual usage seems to suggest it works without issues, including
explicit namespaces, which is where Byebug and Zeitwerk conflict.
Byebug is terrific, thanks a lot for all these years. ❤️
Before, if a user set `file_fixture_path` to the same path as
`fixture_path`, this would have resulted in a deprecation warning such
as:
"Please modify the call from `fixture_file_upload('rails.jpg')` to
`fixture_file_upload('rails.jpg')"
because Active Record `bin/test` only executes its own adapter tests.
Test files under `test/cases/adapters` directory does not have to
say `if current_adapter?` anymore.
There are two ways to run unit tests. `bundle exec rake test` and
`bin/test`. Active Record `bundle exec rake test` only executes its
own adapter specific tests. on the other hand, `bin/test` executes all
adapter specfic tests then some test files need to have `if
current_adapter?`, which can be removed.
- Removed `require_relative "../../tools/test"` to require its own one
- `default_test_exclude_glob` excludes all of adapter specific tests.
- `list_tests(argv)` adds its own adapter specific tests
- `adapter_short` method extracted to get the short hand adapter name
like `sqlite3`, `mysql2` and `postgresql` via `ENV["ARCONN"]`
This commit fixes 2 cases where `constantize` was used instead of
of calling `polymorphic_class_for` to retrieve the class associated
with a given string for polymorphic `belongs_to`.
Since the module isn't included anywhere and is purely static
there iss no point using `mattr_accessor`, which define instance
accessors and other extra overhead.
Regular `attr_accessor` does the job just fine.
* Switch to a single controller option for choosing JavaScript approach
* Remove remnants of webpacker specific work within Rails
* No longer used
* Missing space
* Raise if unknown option is passed
* Style
* Use latest versions
* Make channels setup generic to all node setups
* Make Action Text installer work with any node package manager
* Explaining variables are not useless
* Rubocop pleasing
* Don't rely on Rails.root
Tests don't like it!
* Rubocopping
* Assume importmap
* No longer relevant
* Another cop
* Style
* Correct installation notice
* Add dependencies for action cable when adding a channel
* Fix paths to be relative to generator
* Just go straight to yarn, forget about binstub
* Fix tests
* Fixup installer, only yarn once
* Test generically with run
* Style
* Fix reference and reversibility
* Style
* Fix test
* Test pinning dependencies
* Remove extra space
* Add more tests
* Use latest dependencies
* Relegated this to controllers
* Refactor ChannelGenerator + more tests
Use a uniform level of abstraction
The current configurations in the Configuration guide are described
using unordered lists. This can be error prone to formatting errors and
doesn't allow deeplinking to configuration options.
If we use headings instead we can deeplink to these options from other guides.