/** * @param array $options * * @throws \Assert\AssertionFailedException * @throws \GitLab\Exception\InvalidArgumentException * @throws \Google_Exception * @throws \InvalidArgumentException * @throws \OldTown\GitLabTools\Analizator\Google\Exception\RuntimeException */ public function build(array $options = []) { Assertion::keyExists($options, 'url', 'GitLab url api not specified'); Assertion::keyExists($options, 'token', 'GitLab url token not specified'); Assertion::keyExists($options, 'googleClientSecretPath', 'googleClientSecretPath not specified'); $this->googleSheetsStorage = null; $this->googleSheetsStorageBuilder->setGoogleClientSecretPath($options['googleClientSecretPath'])->setReportDir(self::REPORT_DIR)->setReportFile(self::REPORT_FILE); $this->gitLabDataStorage = null; $this->gitLabDataStorageBuilder->setToken($options['token'])->setUrl($options['url']); $this->storeReports(); }
/** * Билдер * * GitLabDataStorage constructor. * * @param GitLabDataStorageBuilder $builder */ public function __construct(GitLabDataStorageBuilder $builder) { $this->url = $builder->getUrl(); $this->token = $builder->getToken(); }