public static function getClassMetaSettings(
        Model $model,
        $class = null,
        $method = 'getMetaSettings'
    ) {
        $metaSettings = [];
        if ($class) {
            $r = new \ReflectionClass($class);
        } else {
            $r = new \ReflectionObject($model);
        }
        if ($r->hasMethod($method)) {
            $metaMeth = $r->getMethod($method);
            $declaringClass = $metaMeth->getDeclaringClass()->getName();
            if (strtolower($r->getName()) === strtolower($declaringClass)) {
                if ($class) {
                    $method = sprintf('%s::%s', $class, $method);
                }
                $metaSettings = static::invokeCallable([$model, $method]);
            }
        }

        return $metaSettings;
    }