refactored 80%
[pharext/pharext.org] / app / Github / API / Repos / ReleasesCallback.php
1 <?php
2
3 namespace app\Github\API\Repos;
4
5 use app\Github\API;
6 use app\Github\API\Callback;
7
8 class ReleasesCallback extends Callback
9 {
10 private $repo;
11
12 function __construct(API $api, $repo) {
13 parent::__construct($api);
14 $this->repo = $repo;
15 }
16
17 protected function exec($json, $links = null) {
18 settype($this->repo->tags, "object");
19 foreach ($json as $release) {
20 $tag = $release->tag_name;
21 settype($this->repo->tags->$tag, "object");
22 $this->repo->tags->$tag->release = $release;
23 $this->api->listReleaseAssets(
24 $this->repo->full_name,
25 $release->id
26 )->done(function($result) use($release) {
27 list($release->assets) = $result;
28 });
29 }
30 return $json;
31 }
32 }