Added method `#eql?` to `ActiveSupport::Duration`, in addition to `#==`.

Currently, the following returns `false`, contrary to expectation:

    1.minute.eql?(1.minute)

Adding method `#eql?` will make this behave like expected. Method `#eql?` is
just a bit stricter than `#==`, as it checks whether the argument is also a
uration. Their parts may be different though.

    1.minute.eql?(60.seconds)  # => true
    1.minute.eql?(60)          # => false
SQLite3Adapter now checks for views in table_exists? fixes: 14041
Propagate test messages through assert_routing helper, Fixes #14908

assert_routing was not raising the message passed into the assertion
violation that it raised. This change propagates messages through
the on_fail error.

This fixes this error:
https://github.com/rails/rails/issues/14908

A test case for this issue is located here.
https://github.com/estsauver/test14908

To see that test case fail in the example app, just run
ruby -Itest test/controllers/guests_controller_test.rb
Update RecordNotFound exception cases to include a message with the
Model that the Record was not found in.
Updating Associations::Preloader docs

Much of the previous documentation introduced features new in 2011. This
commit refreshes it to provide clearer code examples and spends more
time describing the normal case (preloaded associations) and less time
describing the fallback.

[ci skip]
Roll back open transactions when the running thread is killed.
Active Job refactoring
'Reversible' ->active_record_migrations [ci skip]

Reversible method documentation moved from migrations.md  to active_record_migrations.md
Rename remaining :in / :at to :wait / :wait_until
[ci skip] Fix typo in rails guide for routing
Merge pull request #16799 from rramsden/fix-typo

[ci skip] Fix typo in rails guide for routing
Follup to PR #16762

Remove chain from parameters, it's no longer needed since chain and i
are being passed via next_reflection

Change name of `reflection` to `owner_reflection` because of shadow
variable warning. The last reflection will always be the owner.
Merge pull request #16797 from eileencodes/refactor-add_constraints-followup-to-16762

Followup to PR #16762
Always add lambda to scope chain to eliminate branch in eval_scope

We convert all other scopes to lambda's so it makes sense that we should
always returns a lambda on a ThroughReflection as well. This eliminates
the need to check if the scope is a Relation.
Fix a warning
Merge pull request #16801 from eileencodes/refactor-scope_chain-on-through-refelction-to-eliminate-branch-in-eval_scope

Always add lambda to scope chain to eliminate branch in eval_scope
Skip StatementCache for eager loaded associations (Fixes #16761)

Eagerly loaded collection and singular associations are ignored by the StatementCache, which causes errors when the queries they generate reference columns that were not eagerly loaded.

This commit skips the creation of the StatementCache as a fix for these scenarios.
Remove example file

This documentation should be in the guides.

Closes #16691
Document that method objects are not `duplicable?`
Time#change throws exception with an out-of-range :usec

https://github.com/rails/rails/commit/98b46bf5e201307cae56ee14bf41363a539779c5
did not properly handled out-of-range `:usec`s.

Passing a `:usec` that's out of range now throws an `ArgumentError` as it
should.

Fixes #16759.