fixing mailer previews for apps with globbing route
Test coverage for ActiveJob generator
Make error message clearer that :on requires a symbol, not a string

The validation added in 5a3dc8092d19c816b0b1203945639cb91d065847 will
reject values for the `:on` option for after_commit and after_rollback
callbacks that are string values like `"create"`.

However, the error message says ":on conditions for after_commit and
after_rollback callbacks have to be one of create,destroy,update". That
looks like a string value *would* be valid.

This commit changes the error message to say ":on conditions for
after_commit and after_rollback callbacks have to be one of [:create,
:destroy, :update]", making it clearer that symbols are required.
Add note to Store about uniqueness validation (#17954) [skip ci]
Merge pull request #17953 from kirs/test-activejob-generator

Test coverage for ActiveJob generator
Merge pull request #17966 from mikechau/update-ar-store-validation-documentation

Add note to Store about uniqueness validation (#17954) [skip ci]
Fix type case of "validations" and word-wrap from #17954 [ci skip]
add brackets around attribute_name

since 'attr_name_will_change!' is not an actual method it should
be clearer that you have to insert the attribute name as in line 104

[ci skip]
Merge pull request #17969 from tiii/add-brackets-around-attribute_name

add brackets around attribute_name [ci skip]
Merge pull request #17896 from GBH/globbing_route_mailer_preview

fixing mailer previews for apps with globbing route
Merge pull request #17964 from carols10cents/improve-after-commit-argumenterror-message

Make error message clearer that :on requires a symbol, not a string
Only check that it is a Rails application once

Also avoid using try since is_a? is faster for this case.
Revert to 4.1 behavior for casting PG arrays

The user is able to pass PG string literals in 4.1, and have it
converted to an array. This is also possible in 4.2, but it would remain
in string form until saving and reloading, which breaks our
`attr = save.reload.attr` contract. I think we should deprecate this in
5.0, and only allow array input from user sources. However, this
currently constitutes a breaking change to public API that did not go
through a deprecation cycle.