fix polymorphic? method and reuse it

Fix polymorphic to check for `options[:polymorphic]` instead of
`options.key? :polymorphic` and then reuse the method `polymorphic?`
method instead of constantly checking the same `options[:polymorphic]`.
Merge pull request #15483 from eileencodes/reuse-available-reflection-polymorphic-methods

fix polymorphic? method and reuse it