[ci skip] trailing documentation whitespace
Fix few typos and improve markup at some levels
Add any/all support for variants

Like `format.any`, you can do the same with variants.

It works for both inline:

    respond_to do |format|
      format.html.any   { render text: "any"   }
      format.html.phone { render text: "phone" }
    end

and block syntax:

    respond_to do |format|
      format.html do |variant|
        variant.any(:tablet, :phablet){ render text: "any" }
        variant.phone { render text: "phone" }
      end
    end
Make outer joins on proper parent

Outer joins were being built on the root relation klass rather than the
one specified in the join dependency root
Merge pull request #13525 from huoxito/make-outer-joins-on-proper-parent

Make outer joins on proper parent
Merge branch 'master' of github.com:lifo/docrails
Merge pull request #13470 from strzalek/variants-all-any

Add any/all support for variants
Improve tests to use only public API
Merge remote-tracking branch 'origin/master'
Add the ability to nullify the `enum` column
Merge pull request #13419 from amrnt/nullize-enum

Add the ability to nullize the enum column
Allow engine root relative redirects using an empty string.

Example:

    # application routes.rb
    mount BlogEngine => '/blog'

    # engine routes.rb
    get '/welcome' => redirect('')

This now redirects to the path `/blog`, whereas before it would redirect
to the application root path. In the case of a path redirect or a custom
redirect if the path returned contains a host then the path is treated as
absolute. Similarly for option redirects, if the options hash returned
contains a `:host` or `:domain` key then the path is treated as absolute.

Fixes #7977