/** * {@inheritdoc} */ public function getProject($name) { return $this->requestProject($name, function ($name) { list($username, $repo) = explode('/', $name); return $this->client->repos()->show($username, $repo); }, function ($data) { return new GithubProject($data, $this->client, $this->badgeFactory); }); }
/** * gets a file (content) from the repository. * * @param string $filename * * @return string */ protected function getFile($filename) { try { $file = $this->client->repos()->contents()->show($this->raw['owner']['login'], $this->raw['name'], $filename); if ('base64' === $file['encoding']) { return base64_decode($file['content'], true); } } catch (\Exception $e) { //file not found } }
public function getStars() { $owner = $this->setting('owner'); $repo = $this->setting('repository'); $data = []; $data['subscribers'] = $this->github->repos()->subscribers($owner, $repo); $data['issues'] = $this->github->issues()->all($owner, $repo, ['state' => $this->setting('show.issues.state'), 'sort' => $this->setting('show.issues.sort')]); $data['releases'] = $this->github->repos()->releases()->all($owner, $repo); $data['downloads'] = $this->github->repos()->downloads()->all($owner, $repo); $data['forks'] = $this->github->repos()->forks()->all($owner, $repo); return $data; }
public function it_returns_the_badges(Client $client, Repo $api, Contents $content) { $client->repos()->willReturn($api); $api->contents()->willReturn($content); $content->show('foo', 'bar', '.travis.yml')->shouldBeCalled()->willReturn(['encoding' => 'base64', 'content' => base64_encode('{}')]); $content->show('foo', 'bar', 'composer.json')->shouldBeCalled()->willReturn(['encoding' => 'base64', 'content' => base64_encode('{ "name" : "foo/bar"}')]); $this->getBadges()->shouldBeArray(); $this->getBadges()->shouldHaveCount(3); }
public function it_returns_a_list_of_Projects_on_findProjects(Client $client, Repo $repoApi, User $userApi) { $client->repos()->willReturn($repoApi); $repoApi->show('foo', 'bar')->willReturn(['full_name' => 'foo/bar']); $client->user()->willReturn($userApi); $userApi->repositories('foo')->willReturn([['full_name' => 'foo/bar']]); $projects = $this->findProjects('foo/[bar|bazz]+$'); $projects->shouldBeArray(); $projects['foo/bar']->shouldHaveType('Rs\\Issues\\Project'); $projects['foo/bar']->shouldHaveType('Rs\\Issues\\Github\\GithubProject'); }