public function getUserRepositoriesMatching($pattern) { $this->assertAuthenticated(); // Temporary header https://developer.github.com/v3/repos/#list-your-repositories $this->github->setHeaders(['Accept' => 'application/vnd.github.moondragon+json']); $paginator = new ResultPager($this->github); $repositories = $paginator->fetchAll($this->github->currentUser(), 'repositories'); $repositories = array_map(function ($repository) { return $repository['full_name']; }, $repositories); $pattern = '/^' . preg_quote($pattern, '/') . '$/'; $pattern = str_replace('\\*', '.+', $pattern); return array_filter($repositories, function ($repository) use($pattern) { return preg_match($pattern, $repository) === 1; }); }
/** * @param $repositoryName * @return array * @throws InvalidConfigurationException */ public function getRepositoryConfiguration($repositoryName) { $this->authenticate(); if ($this->repositoryConfigurationCollection === NULL) { $this->repositoryConfigurationCollection = $this->gitHubClient->currentUser()->repositories(); } foreach ($this->repositoryConfigurationCollection as $repository) { if ($repository['name'] == $repositoryName) { return $repository; } } return array(); }