Example #1
0
 /**
  * {@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);
     });
 }
Example #2
0
 /**
  * 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
     }
 }
Example #3
0
 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;
 }
Example #4
0
 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);
 }
Example #5
0
 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');
 }