fix inverse_of association in block of new child

This fixes inconsistency when building children of association
which has inverse_of set properly.

When creating new association object with a block:

    parent.association.build do |child|
      child.parent.equal?(parent) # false
    end

So the block the `child.parent` did not point to the same object.
But when the object is created it points to same instance:

    child = parent.association.build
    child.parent.equal?(parent) # true
Refactor CollectionProxy#scope to avoid calling #extend.
Add block support for the  helper
fix private attribute warning
Fixes skipping object callback filters

This allows you to skip callbacks that are defined by objects, e.g. for
`ActionController`:

    skip_after_filter MySpecialFilter

Previously this didn't work due to a bug in how Rails compared callbacks
in `Callback#matches?`. When a callback is compiled, if it's an object
filter (i.e. not a method, proc, etc.), `Callback` now defines a method on
`@klass` that is derived from the class name rather than `@callback_id`.
So, when `skip_callback` tries to find the appropriate callback to
remove, `Callback` can regenerate the method name for the filter
object and return the correct value for `Callback#matches?`.
Merge pull request #10090 from vipulnsward/fix_private_warn

fix private attribute warning
Model generator USAGE doc improved

 * Added information about syntax for precision/scale of decimals
 * Removed incorrect information about being able to set `default`
 * Added more examples of usage
has_many through obeys order on through association

fixes #10016
Merge pull request #10087 from neerajdotname/10016

has_many through obeys order on through association
expanded rdoc for chain and reflection_names
Merge pull request #10034 from benofsky/fix_skipping_object_callback_filters

Fixes skipping object callback filters
stop depending on callbacks
Revert "Merge pull request #10034 from benofsky/fix_skipping_object_callback_filters"

This reverts commit c79c6980647eb76bfa52178711fb04ba7e9d403b, reversing
changes made to ba4c27479add60b783a0e623c8a5d176c1dc9043.

This broke all the tests. See https://travis-ci.org/rails/rails/builds/6061839
use | to have more intent revealing code

thanks to @egilburg for suggestion
template should have generic name

since users just copy and paste and the class name is never changed
Exclude template files for rdoc API [ci skip]
Merge pull request #10095 from frodsan/exclude_template_files

Exclude template files for rdoc API [ci skip]
Merge pull request #10094 from neerajdotname/fix2

Collection of small fixes. Check individual commits for background.
Use a space after the comment sign when showing the result of commands

http://guides.rubyonrails.org/api_documentation_guidelines.html#example-code

[ci skip]
Use inspect when writing the foreign key from the reflection

If we don't use inspect inside the class_eval block then the foreign key
is written without quotes causing us to fetch the foreign key value and
not the column name.