In Metamodel::ClassHOW§
See primary documentation in context for method add fallback
method add_fallback($obj, $condition, $calculator)
Installs a method fallback, that is, add a way to call methods that weren't statically added.
Both $condition
and $calculator
must be callables that receive the invocant and the method name once a method is called that can't be found in the method cache.
If $condition
returns a true value, $calculator
is called with the same arguments, and must return the code object to be invoked as the method, and is added to the method cache.
If $condition
returns a false value, the next fallback (if any) is tried, and if none matches, an exception of type X::Method::NotFound is thrown.
User-facing code (that is, code not dabbling with metaclasses) should use method FALLBACK
instead.