AR has a subclass of AM:PresenceValidator.

This allows us to mark the parent object as invalid if all associated objects
in a presence validated association are marked for destruction.

See: https://github.com/rails/rails/issues/6812
Refactor ActiveRecord::Inheritance.base_class logic

Moved logic from class_of_active_record_descendant(class) to the
base_class method. This method was confusing because it required
an argument, but that argument was 'self'.

Moved base_class tests to inheritance_test.rb and added some test
coverage for some untested cases.
fix typo in documentation
Merge pull request #7170 from makaroni4/master

Fix typo in documentation
Merge pull request #7171 from beerlington/refactor_inheritance_base_class

Refactor ActiveRecord::Inheritance.base_class logic
* Do not convert digest auth strings to symbols. CVE-2012-3424

Conflicts:
	actionpack/lib/action_controller/metal/http_authentication.rb
Modify the preference attribute from `:null => false` to `:null => true`
to address ORA-01400 errors with Oracle enhanced adapter.

Issue #4856 had been fixed and tested with
the attribute `:null => false, :default => ""`.
Now `:null => false` attribute is not necessary to test this issue.
Merge pull request #7173 from yahonda/address_7138

Modify the preference attribute from `:null => false` to `:null => true`
Only require the `:rails_env` task where is needed.

`:rails_env` tasks is not needed in all the tasks that depends of
`load_config`, only in the tasks that uses `Rails.env`.

Since `:rails_env` task set the `Rails.env` to be "development" if it is
not set we don't need the `||` statements too

Fix #7175.

Conflicts:
	activerecord/lib/active_record/railties/databases.rake
ActiveRecord::Base.all returns a Relation.

Previously it returned an Array.

If you want an array, call e.g. `Post.to_a` rather than `Post.all`. This
is more explicit.

In most cases this should not break existing code, since
Relations use method_missing to delegate unknown methods to #to_a
anyway.
Deprecate ActiveRecord::Base.scoped.

It doesn't serve much purpose now that ActiveRecord::Base.all returns a
Relation.

The code is moved to active_record_deprecated_finders.
Deprecate Relation#all.

It has been moved to active_record_deprecated_finders.

Use #to_a instead.
Changelog and doc updates for the previous changes.
 will now return nil instead of raise a NoMethodError if the receiving object does not implement the method
Add Object#try! with the old NoMethodError raising behavior
Merge pull request #6827 from zephyr-dev/master

Validates_presence_of associated object marked for destruction
Modity the :json_data_empty attribute from `:null => false` to `:null => true`
to address ORA-01400 errors with Oracle enhanced adapter.

The original commit 3c0bf043 requires :json_data_empty attribute
has empty string OR null, then setting `:default => ""` is enough.
Don't test language-level exception messages

Ruby implementations should be free to produce exception
messages that are not identical to MRI. For example,
Rubinius produces 'Expected an even number, got 5'.
Merge pull request #7181 from jfirebaugh/rbx

Don't test language-level exception messages
Merge pull request #7182 from yahonda/address_7178

Modity the :json_data_empty attribute from `:null => false` to `:null => true`