cache = $cache; $this->token = $token; $this->url = $url ?: static::URL; } /** * Returns the latest release. * * @return string */ public function latest() { $release = $this->cache->remember('release.latest', 720, function () { $headers = ['Accept' => 'application/vnd.github.v3+json', 'User-Agent' => defined('CACHET_VERSION') ? 'cachet/'.constant('CACHET_VERSION') : 'cachet']; if ($this->token) { $headers['OAUTH-TOKEN'] = $this->token; } return json_decode((new Client())->get($this->url, [ 'headers' => $headers, ])->getBody(), true); }); return [ 'tag_name' => $release['tag_name'], 'prelease' => $release['prerelease'], 'draft' => $release['draft'], ]; } }