Add an after_bundle callback in Rails templates

The template runs before the generation of binstubs – this does not
allow to write one, that makes an initial commit to version control.
It is solvable by adding an after_bundle callback.
Don't delegate Reflection#chain to ThroughAssociation

We shouldn't be delegating chain to ThroughAssociation since the
only place that needs to call it is `target_scope`. Instead we
can call `reflecion.chain`.
Merge pull request #16396 from eileencodes/dont-delegate-chain-to-through-association

Don't delegate Reflection#chain to ThroughAssociation
avoid testing only_path

we know that this call only wants the path returned, so lets call a
method that returns the path.
Call public methods rather than class_eval'ing
Remove unused text? predicate method and delegation

The method has been removed in 09206716f8695f6b8467f15c1befa5a4c3c10978
(PR #16074), but the delegation was apparently missed, and one instance
of the method was added back with the addition of OID::Xml in
336be2bdf7dfa1b31879d0ab27e5f3101b351923 (PR #16072), so we can safely
rm both.
Bring back the helpers tests

Also keep the hook as other tools may rely on it,
we just don't do anything by default on Rails.
Fix AS docs / changelog with wrong method [ci skip]
Fixed #select form builder helper to support block with html output
Cleanup Transaction inheritance.

Transaction class doesnt need to encapsulate the transaction state using
inheritance.
This removes all Transaction subclasses, and let the Transaction object
controls different actions based on its own state. Basically the only
actions would behave differently are `being`,`commit`,`rollback` as they
could act in a savepoint or in a real transaction.
Moved #create! method from Validations to Persistence module
Merge pull request #16404 from bogdan/move-create-with-bang

Moved #create! method from Validations to Persistence module
Add after_bundle to the release notes and upgrade guide
Fix digest ETAG test.

After
https://github.com/rack/rack/commit/12528d4567d8e6c1c7e9422fee6cd8b43c4389bf
ETag will include a `W/` before the digest.
Merge pull request #16405 from arthurnn/fix_digest_etag_test

Fix digest ETAG test.
We don't need parenthesis for this
just assign the instance variables on the test
Merge pull request #16364 from arthurnn/make_transaction_one_class

Clarify Transaction responsibilities by breaking unneeded inheritance hierarchy.
no reason to lazily instantiate the routes

especially if you're just going to add a call two lines down that
populates the cache. common.
a rails application should be an engine subclass