store a symbol directly inside DISPATCH_CACHE for extra roflscale
updated AS:Callbacks doc for terminator option in define_callbacks method
The change is commited at ba552764344bc0a3c25b8576ec11f127ceaa16da
remove evals from AM::Validations::Callbacks
follow the same refactor at a63a964a5d1ed02cf0df1b1a33a96ed2a9fa987b
Merge pull request #11196 from yangchenyun/remove_evals_in_am_callbacks

Remove evals from AM::Validations::Callbacks
fix typo in ActiveModel::Error docs [ci skip]
Merge pull request #11192 from charliesome/extra-roflscale

Store a symbol directly inside DISPATCH_CACHE for additional roflscale
Adding find_by in guide to methods that trigger after_find
unified the param names across all callbacks manipulation methods
_ Rename the define_callbacks params to `names`
  - in order to match the naming conventions for `get_callbacks` and `set_callbacks` at https://github.com/rails/rails/blob/master/activesupport/lib/active_support/callbacks.rb#L736-743
  - `define_callbacks` just register names(events), not define the real callback functions.
- Rename the `reset_callbacks` params
Using preferred find_by syntax in guides
Merge pull request #11204 from Gawyn/find_by-triggers-after_find

Adding find_by in guide to methods that trigger after_find
Merge pull request #11205 from Gawyn/using-preferred-find_by-syntax-in-guides

Using preferred find_by syntax in guides
Merge pull request #11195 from yangchenyun/update_doc_for_define_callbacks

updated AS:Callbacks docs, variable namings
Add `#any_of` query method to active_record

This method is inspired by [any_of from
mongoid](http://two.mongoid.org/docs/querying/criteria.html#any_of).

It allows to compute an `OR` like query that leverages AR's `#where` syntax:

    manual_removal = User.where(id: params[:users][:destroy_ids])
    users = User.any_of(manual_removal, "email like '%@example.com'", {banned: true}).destroy_all

It can be used directly on model class, or through an association, or
behind an other relation.

    manual_removal = User.where(id: params[:users][:destroy_ids])
    User.any_of(manual_removal, "email like '%@example.com'", {banned: true})
    @company.users.any_of(manual_removal, "email like '%@example.com'", {banned: true})
    User.where(offline: false).any_of( manual_removal, "email like '%@example.com'", {banned: true})

Its main purpose is to both :

* remove the need to write a sql string when we want an `OR`
* allow to write dynamic `OR` queries, which would be a pain with a string

There's also a negative version, `#none_of`. This will return all active
users :

    banned_users = User.where(banned: true)
    unconfirmed_users = User.where("confirmed_at IS NULL")
    active_users = User.none_of(banned_users, unconfirmed_users)