Fix rational to decimal on type_cast_from_user
Change class evaluation for Rationals in cast_value
Fix case statement to use ::Numeric and ::String
Fix decimal_test module and add new test for object responding to to_d
Fix broken list formatting [ci skip]
subclass Rails::Engine
Merge pull request #16201 from noinkling/master

Fix broken list formatting in API docs [ci skip]
Remove need for macro instance var

Same as we did for collection, removed the `@macro` instance var
and it is now set in each association. Unfortunately it can't be
left undefined in AssociationReflection so it has to be set there.
For now I am setting it to NotImplementedError since there is no
default macro and it changes based on the reflection type.
Remove "profile and benchmark" line from command line guide

The profiling and benchmarking commands are no longer built into Rails.
Merge pull request #16205 from davejachimiak/remove_profile_and_benchmark_point

Remove "profile and benchmark" line from command line guide
Merge pull request #16198 from eileencodes/remove-need-for-macro-instance-var

Remove need for macro instance var
docs, `select` and friends with `multiple=true` include a blank string.

[Jonas Baumann & Yves Senn]

The submitted params from a select with `multiple: true` look as follows:

```
{post: {category: [""]}}

{post: {category: ["", "Category 1", "Category 2"]}}
```

This is a follow up to #1552.
helper methods are public, so we can just call them

also if you want a path from a named helper, you should call
helper_path, not helper_url(:only_path => true).
use a strategy object for generating urls in named helpers

since we know that the route should be a path or fully qualified, we can
pass a strategy object that handles generation.  This allows us to
eliminate an "if only_path" branch when generating urls.
Make restore_attributes public

Also make it accept a list of attributes to be changed. This will make
possible to restore only a subset of the changed attributes.

Closes #16203
pass the route name to define_url_helper

this allows us to avoid 2 hash allocations per named helper definition,
also we can avoid a `merge` and `delete`.
`recall` should be `path_parameters`, also make it required

"recall" is a terrible name.  This variable contains the parameters that
we got from the path (e.g. for "/posts/1" it has :controller => "posts",
:id => "1").  Since it contains the parameters we got from the path,
"path_parameters" is a better name.  We always pass path_parameters to
`generate`, so lets make it required.
[EXPERIMENTAL] run actionpack tests in parallel

only on forking systems though.  Feel free to revert this if it causes
problems.
Merge pull request #16188 from marianovalles/fix_rational_to_decimal_type_cast

Fix rational to decimal on type_cast_from_user
Prefer if/else for this case

One of the branches is using a proc to check if the value respond_to a
method so it is better to not do case comparations