Add warning for `rescue_from Exception` and `rescue_from StandardError`

[ci skip]
Replace x.sort_by!.select! with x.select!.sort_by!

The latter has the same speed as the former in the worst case
and faster in general, because it is always better to sort less items.

Unfortunately, `routes.select!{...}.sort_by!{...}` is not possible here
because `select!` returns `nil`, so select! and sort! must be done
in two steps.
Delegate #model_name method to self.class
add missing `:nodoc:` for recent refactorings. [ci skip]

Adding `# :nodoc:` to the parent `class` / `module` is not going
to ignore nested classes or modules.

There is a modifier `# :nodoc: all` but sadly the containing class
or module will continue to be in the docs.

/cc @sgrif
Merge pull request #15871 from yuki24/add-model-name-instance-method

Add #model_name instance method to ActiveModel::Naming
add missing `:nodoc:` to `store.rb`. [ci skip]
`:nodoc: all` does not remove the constants from the API. [ci skip]

Need to add individual `:nodoc:` for nested classes / modules to completely
remove the constants from the API.
Silence warning in test

We still had one file using `column_for_attribute` when it could return
nil, causing deprecation warnings in the tests.
Merge pull request #15894 from sgrif/sg-silence-warning-in-test

Silence warning in test
Always assume strings with non-numeric characters change numeric types

We previously only did this if the old value was zero, to make sure
numericality validations run and failed if the user gave 'wibble' as the
value, which would be type cast to 0. However, numericality validations
will fail if there are any non-numeric characters in the string, so 5 ->
'5wibble' should also be marked as changed.
Merge pull request #15895 from sgrif/sg-numeric-changes

Always assume strings with non-numeric characters change numeric types
Doc pass for `Type::Value` [ci skip]
Merge pull request #15828 from yuki24/add-warning-about-rescue-from-exception

Add warning section for `rescue_from Exception` in Guides
Improves readability...

[ci skip]
Merge pull request #15887 from RudyOnRails/patch-1

Improves readability of this line...
Deal with regex match groups in excerpt

Original implementation has bugs if the regex contains a match group.

Example:

    excerpt('This is a beautiful? morning', /\b(beau\w*)\b/i, :radius => 5)
    Expected: "...is a beautiful? mor..."
    Actual: "...is a beautifulbeaut..."

The original phrase was being converted to a regex and returning the text
either side of the phrase as expected:

    'This is a beautiful? morning'.split(/beautiful/i, 2)
    # => ["This is a ", "? morning"]

When we have a match with groups the match is returned in the array.

Quoting the ruby docs: "If pattern is a Regexp, str is divided where the
pattern matches. [...] If pattern contains groups, the respective matches will
be returned in the array as well."

    'This is a beautiful? morning'.split(/\b(beau\w*)\b/iu, 2)
    # => ["This is a ", "beautiful", "? morning"]

If we assume we want to split on the first match – this fix makes that
assumption – we can pass the already assigned `phrase` variable as the place
to split (because we already know that a match exists from line 168).

Originally spotted by Louise Crow (@crowbot) at
https://github.com/mysociety/alaveteli/pull/1557
Merge pull request #15899 from garethrees/gr-texthelper

Deal with regex match groups in excerpt
Add a '--skip-routes' flag for the Controller generator.

This way it is possible to skip the addition of the 'get "foo/bar"' routes when
generating a controller.
Merge pull request #15885 from lucasmazza/lm-skip-routes

Add a '--skip-routes' flag for the Controller generator.
Fix a bug where NameError#name returns a qualified name in string

Ruby's original behaviour is that :

  * It only returns a const name, not a qualified aname
  * It returns a symbol, not a string