cache host on the stack so we only look it up once
remove warnings
warning: assigned but unused variable - scope_called, path and strexp
Merge pull request #15648 from kuldeepaggarwal/fix-warnings

remove warnings
remove unnecssary require of `to_param`, as `to_query` is already require `to_param`
Merge pull request #15650 from kuldeepaggarwal/remove-unecessary-require

remove unnecssary require of `to_param`, as `to_query` is already require `to_param`
Revert "remove unnecssary require of `to_param`, as `to_query` is already require `to_param`"

Revert "No need to require to_param, it is already required in to_query.rb"

This reverts commits ccdd97662e1fb00c23c90d59f65c091904959561
and d697ee14264a90a39cdbe87857656d8b314ac9b7.

Reason by @jeremy: These requires are not for implementation dependency.
They ensure that requiring array conversions provides to_query, to_param,
and other array conversion behaviors.

The fact that to_query is implemented in terms of to_param is just a
coincidence. If to_query removed its to_param require, then someone
requiring array conversions would no longer have to_param available.

This change removes these intentional dependencies on to_param in favor
of implementation side effects—an undesirable move that's susceptible to
regression.