Remove j alias for ERB::Util.json_escape
Fix eagerly loading associations without primary keys
Unset association when existing record is destroyed.

To avoid foreign key errors (and invalid data) in the database, when a belongs_to association is destroyed, it should also be nil'd out on the parent object.
AR::Relation#model would be a better API than AR::Relation#klass
Change JoinPart test from an integration to a unit test
Refactored common date and time calculations.

* Added the `DateAndTime::Calculations` module that is included in Time
  and Date. It houses common calculations to reduce duplicated code.
* Simplified and cleaned-up the calculation code.
* Removed duplication in tests by adding a behavior module for shared
  tests. I also added some missing tests.
Added a note for smtp_settings.enable_starttls_auto
Make a doc example output in match actual output

Make doc output in grouped_options_for_select divider example match
actual output. The options groups were in backwards order of actual.
use template0 option for creating activerecord test databases in postgres build_database task
association_basics, updated how inverse_of works

Fixed bug in the example code. A bit related to rails issue in
 https://github.com/rails/rails/issues/3223
Extended documentation for `time_ago_in_words` helper
Revert "association_basics, updated how inverse_of works"

This reverts commit 8cb9460437eddde6952fbebbc969203cd4d00294.

Reason: #7377 was merged and it fixes this behavior.
reset_counters() was crashing when there were multiple belongs_to associations with the same foreign key.

This closes #5200.
Merge pull request #5210 from Pliny/masteri

Fix for #5200
Allow users to choose when to eager_load the application or not.

Previously, the eager load behavior was mostly coupled to
config.cache_classes, however this was suboptimal since in
some environments a developer may want to cache classes but
not necessarily load them all on boot (for example, test env).

This pull request also promotes the use of config.eager_load
set to true by default in production. In the majority of the
cases, this is the behavior you want since it will copy most
of your app into memory on boot (which was also the previous
behavior).

Finally, this fix a long standing Rails bug where it was
impossible to access a model in a rake task when Rails was
set as thread safe.
Remove allow_concurrency as a flag

The flag was mainly used to add a Rack::Lock middleware to
the stack, but the only scenario the lock is desired is in
development.

If you are deploying on a not-threaded server, the Rack::Lock
does not provide any benefit since you don't have concurrent
accesses. On the other hand, if you are on a threaded server,
you don't want the lock, since it defeats the purpose of using
a threaded server.

If there is someone out there, running on a thread server
and does want a lock, it can be added to your environment
as easy as: `use Rack::Lock`
Make ActiveSupport::Autoload local

Previously, ActiveSupport::Autoload was global and reserved
for usage inside Rails. This pull request makes it local,
fixes its test (they were not being run because its file
was named wrongly) and make it part of Rails public API.
Get rid of config.preload_frameworks in favor of config.eager_load_namespaces

The new option allows any Ruby namespace to be registered and set
up for eager load. We are effectively exposing the structure existing
in Rails since v3.0 for all developers in order to make their applications
thread-safe and CoW friendly.
Deprecate config.threadsafe!
add Rack::Lock for webrick