/** * @param Package $package * * @return Package */ public function analyzePackage(Package $package) { $client = new GuzzleClient(); $response = $client->get($this->packageVendor . $package->getName(), array('exceptions' => false)); if ($response->getStatusCode() == 200) { $data = $this->parseJson((string) $response->getBody()); $newestVersion = $data['dist-tags']['latest']; $package->setLatestVersion($newestVersion); $package->setLastChecktAt(new \DateTime()); } return $package; }
/** * @param Package $package * * @return Package */ public function analyzePackage(Package $package) { $client = new GuzzleClient(); $response = $client->get($this->packageVendor . $package->getName(), array('exceptions' => false)); if ($response->getStatusCode() == 200) { $data = $this->parseJson((string) $response->getBody()); // TODO: Handle this differently $urlChunks = explode("/", $data['url']); $githubClient = new \Github\Client(); $tags = $githubClient->api('repo')->tags($urlChunks[3], substr($urlChunks[4], 0, -4)); $newestVersion = $this->getLatestVersion(array_column($tags, 'name')); $package->setLatestVersion($newestVersion); $package->setLastChecktAt(new \DateTime()); } return $package; }