Gush\Factory\AdapterFactory::guardFactoryClassImplementation PHP Method

guardFactoryClassImplementation() private method

private guardFactoryClassImplementation ( $adapterFactory, $label )
    private function guardFactoryClassImplementation($adapterFactory, $label)
    {
        $adapterFactoryClass = is_object($adapterFactory) ? get_class($adapterFactory) : $adapterFactory;
        $classImplements = class_implements($adapterFactoryClass);
        $repositoryManager = in_array(RepositoryManagerFactory::class, $classImplements, true);
        $issueTracker = in_array(IssueTrackerFactory::class, $classImplements, true);
        if (!$repositoryManager && !$issueTracker) {
            throw new \InvalidArgumentException(sprintf('AdapterFactory class "%s" should implement "Gush\\Factory\\RepositoryManagerFactory" and/or ' . '"Gush\\Factory\\IssueTrackerFactory".', $adapterFactoryClass));
        }
        return ['factory' => $adapterFactory, 'label' => $label, self::SUPPORT_REPOSITORY_MANAGER => $repositoryManager, self::SUPPORT_ISSUE_TRACKER => $issueTracker];
    }