[4.x] Bug: Values class not forwarding calls to proxied collection methods
This PR makes a few changes to how the magic __call method works, within Fields\Values.php. Currently, it performs a single check and throws an exception if this condition is not met:
$this->getProxiedInstance()->has($method)
We get the collection back as the proxied instance, but the has method checks for the existence of a particular key in the data—not an available method on the class itself.
With this PR, we're adding in an initial check to see if the passed $method exists on the Collection, via the getProxiedInstance(). If it does exist, call it with the additional $args and return the value. Otherwise, continue to the same query builder check we had originally. If neither of these apply, throw an exception w/ a slightly more descriptive message.
Also added to the ValuesTest, with an example that illustrates our particular use-case for some custom front-end output.
Disclaimer: the way this method was defined lead me to believe it's missing the functionality outlined above, but by all means, check my work/logic here, and don't hesitate to trash this PR if it's not inline with the intended use of that class or method.