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
add :nodoc: directive to AM::ObserverArray internal methods [ci skip]
tiny mistake in description
added 2 strategies for extending engine models
fix removed ruby tag in commit 890b9dd [ci skip]
Removed reference to composed_of.

It was previously removed from the code, so we shouldn't mention
it in the docs
Make sure :environment task is executed before db:schema:load or db:structure:load

Otherwise, if schema_format = :sql, you will see:
$ rake db:setup --trace
** Invoke db:setup (first_time)
** Invoke db:schema:load_if_ruby (first_time)
** Invoke db:create (first_time)
** Invoke db:load_config (first_time)
** Invoke rails_env (first_time)
** Execute rails_env
** Execute db:load_config
** Execute db:create
db_example_development already exists
db_example_test already exists
** Execute db:schema:load_if_ruby       #<-------- :environment hasn't been executed yet
** Invoke db:schema:load (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:schema:load
~/db_example/db/schema.rb doesn't exist yet. Run `rake db:migrate` to create it then try again.
Update performance testing guide [ci skip]

* Update test templates.
* Remove some 1.8 references.
* Update guide format to be easier for contributors.
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
use 'HTTP_AUTHORIZATION' instead of :authorization as key when dealing with HTTP Token authentication in integration tests
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`