This new method converts an enumerable to a hash, where the keys are the enumerable's elements and the values are determined by the provided block or argument.
Loading the mail gem during boot avoids burdening the first request with the responsibility, and conveniently sidesteps a deadlock that the author encountered in their application.
Active Support extends Range#=== to match other ranges, but a change to the native Ruby implementation broke it. This patch ensures that the behaviour will work on Ruby 2.6, and also adds it to Range#cover? for good measure.
When a record was saved multiple times in the same transaction, its previous state wasn't always immediately restored if the transaction was later rolled back.