public function get_source()
{
if (is_callable($this->source)) {
return call_user_func_array($this->source, [$this->slug]);
}
if (is_string($this->source) && strpos($this->source, '#') !== false) {
$source = explode('#', $this->source);
if (empty($source[0]) || empty($source[1])) {
return $this->source;
}
$source[0] = new $source[0]();
if (method_exists($source[0], $source[1])) {
return call_user_func_array($source, [$this->slug]);
}
return;
}
return $this->source;
}