Explicit route test class

shows the class that the test must extend in order to have the assert_routing method available
FileHandler should not be called for files outside the root

FileHandler#matches? should return false for files that are outside the
"root" path.
Use include_blank value as option label

Update select_tag to reflect documentation and behave the same as form builder select. If the value of include_blank is not boolean true, use that value as the option label.
Fix Relation.rewhere to work with Range values
If Rails is not defined, check ENV["RAILS_ENV"] and ENV["RACK_ENV"].

This fixes a regression introduced by 6cc03675d30b58e28f585720dad14e947a57ff5b.

ActiveRecord, if used without Rails, always checks the "default_env" environment. This would be OK, except that Sinatra also supports environments,
and it runs with {RACK|RAILS}_ENV=production. This patch adds a fallback to RAILS_ENV and RACK_ENV (and ultimately default_env) if Rails.env doesn't exist.
Show the user’s application in the source window and select the correct trace list, closes #17312
Raises ArgumentError when try to define a scope without a callable

This changes the actual exception `NoMethodError: undefined method `call'
for #<ActiveRecord::Relation []>` to a `ArgumentError` when try to define
a scope without a callable.
Use type column first in multi-column indexes

`add_reference` can very helpfully add a multi-column index when you use
it to add a polymorphic reference. However, the first column in the
index is the `id` column, which is less than ideal.

The [PostgreSQL docs][1] say:
> A multicolumn B-tree index can be used with query conditions that
> involve any subset of the index's columns, but the index is most
> efficient when there are constraints on the leading (leftmost)
> columns.

The [MySQL docs][2] say:
> MySQL can use multiple-column indexes for queries that test all the
> columns in the index, or queries that test just the first column, the
> first two columns, the first three columns, and so on. If you specify
> the columns in the right order in the index definition, a single
> composite index can speed up several kinds of queries on the same
> table.

In a polymorphic relationship, the type column is much more likely to be
useful as the first column in an index than the id column. That is, I'm
more likely to query on type without an id than I am to query on id
without a type.

[1]: http://www.postgresql.org/docs/9.3/static/indexes-multicolumn.html
[2]: http://dev.mysql.com/doc/refman/5.0/en/multiple-column-indexes.html
fixes circularity check in dependencies

The check for circular loading should depend on a stack of files being
loaded at the moment, rather than the collection of loaded files.

This showed up indirectly in #16468, where a misspelled helper would
incorrectly result in a circularity error message.

References #16468
give a better error message for misspelled helpers

See comment in this patch for the rationale.

References #16468
Fix description of OID in TypeMapInitializer

[ci skip]
Clarify comments about sanitized_allowed_tags

- Clarify that arguments are expected in array format.
- Extension of https://github.com/rails/rails/pull/17390.
- https://github.com/rails/rails/pull/17390 was targeted against
  4-1-stable branch. This commit updates master.
- [ci skip]
Merge pull request #17391 from prathamesh-sonpatki/fix-oid-description-ci-skip

Fix description of OID in TypeMapInitializer
Merge pull request #17392 from prathamesh-sonpatki/fix-docstring-for-sanitized-helpers-ci-skip

Clarify comments about sanitized_allowed_tags
Merge pull request #17064 from frenkel/fix_select_tag_include_blank

Use include_blank value as option label
:scissors:
Use new hash syntax
Add CHANGELOG entry for #17064
Prefix internal method with _

This will avoid naming clash with user defined methods
Fix typo in error message when non-boolean value is assigned to boolean column