Add filter for prereleases
This commit is contained in:
parent
d39a05386b
commit
9f3f66a956
|
|
@ -53,6 +53,11 @@ if ( !class_exists(Api::class, false) ):
|
|||
*/
|
||||
protected $localDirectory = null;
|
||||
|
||||
/**
|
||||
* @var string prerelease name
|
||||
*/
|
||||
protected $prereleaseName;
|
||||
|
||||
/**
|
||||
* Api constructor.
|
||||
*
|
||||
|
|
@ -359,6 +364,14 @@ if ( !class_exists(Api::class, false) ):
|
|||
public function setSlug($slug) {
|
||||
$this->slug = $slug;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
*
|
||||
*/
|
||||
public function filterPrereleaseName($name) {
|
||||
$this->prereleaseName = $name;
|
||||
}
|
||||
}
|
||||
|
||||
endif;
|
||||
|
|
|
|||
|
|
@ -51,7 +51,13 @@ if ( !class_exists(GitHubApi::class, false) ):
|
|||
*/
|
||||
public function getLatestRelease() {
|
||||
$release = $this->api('/repos/:user/:repo/releases/latest');
|
||||
if ( is_wp_error($release) || !is_object($release) || !isset($release->tag_name) ) {
|
||||
if ( is_wp_error($release)
|
||||
|| !is_object($release)
|
||||
|| !isset($release->tag_name)
|
||||
//Skip release if prerelease name is not a match
|
||||
|| (isset($this->prereleaseName) && preg_match('/'.$this->prereleaseName.'/m', $release->tag_name) !== 1)
|
||||
//Skip release if it's not a final release
|
||||
|| (!isset($this->prereleaseName) && preg_match('/^v?[0-9]+\.[0-9]+\.[0-9]+$/m', $release->tag_name) !== 1)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -115,6 +115,10 @@ if ( !class_exists(GitLabApi::class, false) ):
|
|||
|| !isset($release->tag_name)
|
||||
//Skip upcoming releases.
|
||||
|| !empty($release->upcoming_release)
|
||||
//Skip release if prerelease name is not a match
|
||||
|| (isset($this->prereleaseName) && preg_match('/'.$this->prereleaseName.'/m', $release->tag_name) !== 1)
|
||||
//Skip release if it's not a final release
|
||||
|| (!isset($this->prereleaseName) && preg_match('/^v?[0-9]+\.[0-9]+\.[0-9]+$/m', $release->tag_name) !== 1)
|
||||
) {
|
||||
continue;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue