Improve readability of sentence in partial-renderer docs [ci skip]
Merge pull request #12959 from macmartine/partial_renderer_doc_improvement

Improve readability of sentence in partial-renderer docs [ci skip]
Renderer#_render_template should be private

Closes #12831
Use the right indentation
_implied_layout_name should be private
Update caching guide with respect to :namespace

Cache::Store does not have a default value for :namespace. If it ever did, I can't find it in the git history.
Merge pull request #12961 from jbaudanza/doc

Update caching guide with respect to :namespace
Use `SchemaStatements#initialize_schema_migrations_table` instead of `ActiveRecord::SchemaMigration.create_table`.
Add `#travel` and `#travel_to` to AS::TestCase

Add `ActiveSupport::Testing::TimeHelpers#travel` and `#travel_to`. These
methods change current time to the given time or time difference by
stubbing `Time.now` and `Date.today` to return the time or date after
the difference calculation, or the time or date that got passed into the
method respectively. These methods also accept a block, which will
return current time back to its original state at the end of the block.

Example for `#travel`:

    Time.now # => 2013-11-09 15:34:49 -05:00
    travel 1.day
    Time.now # => 2013-11-10 15:34:49 -05:00
    Date.today # => Sun, 10 Nov 2013

Example for `#travel_to`:

    Time.now # => 2013-11-09 15:34:49 -05:00
    travel_to Time.new(2004, 11, 24, 01, 04, 44)
    Time.now # => 2004-11-24 01:04:44 -05:00
    Date.today # => Wed, 24 Nov 2004

Both of these methods also accept a block, which will return the current
time back to its original state at the end of the block:

    Time.now # => 2013-11-09 15:34:49 -05:00

    travel 1.day do
      User.create.created_at # => Sun, 10 Nov 2013 15:34:49 EST -05:00
    end

    travel_to Time.new(2004, 11, 24, 01, 04, 44) do
      User.create.created_at # => Wed, 24 Nov 2004 01:04:44 EST -05:00
    end

    Time.now # => 2013-11-09 15:34:49 -05:00

This module is included in `ActiveSupport::TestCase` automatically.
Merge pull request #12824 from sikachu/ps-testing-time-helper

Add `#travel` and `#travel_to` to `ActiveSupport::TestCase`
swap arguments for some `assert_equal` statements => `expected, actual`
Add positional information to eval call so that this information will
be used in printing correct location where the exception occurred.
Closes #12885

- Without this the location of exception is always the line on which
  'eval' is called
- But if the exception occurs in a gem outside of Rails, then that
  location is not printed in stacktrace
Fix ActiveRecord::Relation#unscope

I'm pretty confused about the addition of this method. The documentation
says that it was intended to allow the removal of values from the
default scope (in contrast to #except). However it behaves exactly the
same as except: https://gist.github.com/jonleighton/7537008 (other than
having a slightly enhanced syntax).

The removal of the default scope is allowed by
94924dc32baf78f13e289172534c2e71c9c8cade, which was not a change we
could make until 4.1 due to the need to deprecate things. However after
that change #unscope still gives us nothing that #except doesn't already
give us.

However there *is* a desire to be able to unscope stuff in a way that
persists across merges, which would allow associations to be defined
which unscope stuff from the default scope of the associated model. E.g.

  has_many :comments, -> { unscope where: :trashed }

So that's what this change implements. I've also corrected the
documentation. I removed the guide references to #except as I think
unscope really supercedes #except now.

While we're here, there's also a potential desire to be able to write
this:

  has_many :comments, -> { unscoped }

However, it doesn't make sense and would not be straightforward to
implement. While with #unscope we're specifying exactly what we want to
be removed from the relation, with "unscoped" we're just saying that we
want it to not have some things which were added earlier on by the
default scope. However in the case of an association, we surely don't
want *all* conditions to be removed, otherwise the above would just
become "SELECT * FROM comments" with no foreign key constraint.

To make the above work, we'd have to somehow tag the relation values
which get added when evaluating the default scope in order to
differentiate them from other relation values. Which is way too much
complexity and therefore not worth it when most use cases can be
satisfied with unscope.

Closes #10643, #11061.
Expand double-negative in String#blank? regex
Merge pull request #12976 from tmm1/faster-blank

Faster String#blank?
replace U+00A0 with whitespace
Merge pull request #12986 from budnik/fix-unicode-nbsp

replace U+00A0 with whitespace, Fixes #12985
Merge pull request #12970 from prathamesh-sonpatki/issue12885

Add positional information to eval call so that this information will be used in printing correct location where the exception occurred.

Closes #12885.
replace custom Time stubbing with `travel` and `travel_to`.
Fix for routes task

This commit fixes formatting issue for `rake routes` task, when a section is shorter than a header.