Add class level case operator support for error dispatching in Rescuable
"backoffice" -> "back office", "lookup" -> "look up"

"Lookup" is a noun, but not a verb. The verb is "look up".

[skip ci]
adding that assert_template with :layout will raise ArgumentError for unknown layout type
Merge pull request #18055 from jonatack/patch-8

"backoffice" -> "back office", "lookup" -> "look up" [ci skip]
Merge pull request #17995 from jethroo/fix/assert_template_with_unsupported_layout_type

assert template should raise ArgumentError for unsupported layout types
Improving Method Chaining section [ci skip]
Merge pull request #18059 from andreynering/ar-guides-querying

Improving Method Chaining section [ci skip]
Merge pull request #17980 from gsamokovarov/rescuable-case-operator

Add class level case operator support for error dispatching in Rescuable
`update_column` take ruby-land input, not database-land input

In the case of serialized columns, we would expect the unserialized
value as input, not the serialized value. The original issue which made
this distinction, #14163, introduced a bug. If you passed serialized
input to the method, it would double serialize when it was sent to the
database. You would see the wrong input upon reloading, or get an error
if you had a specific type on the serialized column.

To put it another way, `update_column` is a special case of
`update_all`, which would take `['a']` and not `['a'].to_yaml`, but you
would not pass data from `params` to it.

Fixes #18037
Throw :abort halts default CallbackChains

This commit changes arguments and default value of CallbackChain's :terminator
option.

After this commit, Chains of callbacks defined **without** an explicit
`:terminator` option will be halted as soon as a `before_` callback throws
`:abort`.

Chains of callbacks defined **with** a `:terminator` option will maintain their
existing behavior of halting as soon as a `before_` callback matches the
terminator's expectation. For instance, ActiveModel's callbacks will still
halt the chain when a `before_` callback returns `false`.
Deprecate `false` as the way to halt AS callbacks

After this commit, returning `false` in a callback will display a deprecation
warning to make developers aware of the fact that they need to explicitly
`throw(:abort)` if their intention is to halt a callback chain.

This commit also patches a single use of AS::Callbacks inside `railties`,
changing its result from `false` to `nil` (equivalent for the purpose of
that method), so the deprecation warning does not show up in that case.
Deprecate `false` as the way to halt AM validation callbacks

Before this commit, returning `false` in an ActiveModel validation
callback such as `before_validation` would halt the callback chain.

After this commit, the behavior is deprecated: will still work until
the next release of Rails but will also display a deprecation warning.

The preferred way to halt a callback chain is to explicitly `throw(:abort)`.
Deprecate `false` as the way to halt AM callbacks

Before this commit, returning `false` in an ActiveModel `before_` callback
such as `before_create` would halt the callback chain.

After this commit, the behavior is deprecated: will still work until
the next release of Rails but will also display a deprecation warning.

The preferred way to halt a callback chain is to explicitly `throw(:abort)`.
Deprecate `false` as the way to halt AR callbacks

Before this commit, returning `false` in an ActiveRecord `before_` callback
such as `before_create` would halt the callback chain.

After this commit, the behavior is deprecated: will still work until
the next release of Rails but will also display a deprecation warning.

The preferred way to halt a callback chain is to explicitly `throw(:abort)`.