- try {
- $this->github->fetchRepos(
- $this->app->getRequest()->getQuery("page"),
- [$this, "reposCallback"]
- )->send();
- } catch (\app\Github\Exception $exception) {
- $this->view->addData(compact("exception"));
- }
- $this->app->display("github/index");
- }
- }
-
- function reposCallback($repos, $links) {
- $this->app->getView()->addData(compact("repos"));
- $this->app->getView()->registerFunction("link", $this->createLinkGenerator($links));
-
- foreach ($repos as $repo) {
- $this->github->fetchHooks($repo->full_name, function($hooks) use($repo) {
- $repo->hooks = $hooks;
- });
+ list($repos, $links) = $this->github->listRepos(
+ $this->app->getRequest()->getQuery("page"),
+ new \app\Github\API\Repos\ReposCallback($this->github)
+ )->send();
+ $this->app->display("github/index", compact("repos", "links"));