/** * Find the lowest stability. * * @param string[] $stabilities The list of stability * @param VersionParser $versionParser The version parser * * @return string The lowest stability */ public static function findInlineStabilities(array $stabilities, VersionParser $versionParser) { $lowestStability = 'stable'; foreach ($stabilities as $stability) { $stability = $versionParser->normalizeStability($stability); $stability = $versionParser->parseStability($stability); if (Package::$stabilities[$stability] > Package::$stabilities[$lowestStability]) { $lowestStability = $stability; } } return $lowestStability; }
/** * Clean the raw version. * * @param string $version The version * @param array $matches The match of pattern asset version * * @return array The list of $type, $version and $end */ protected static function cleanVersion($version, array $matches) { $end = substr($version, strlen($matches[1][0][0])); $version = $matches[1][0][0] . '-'; $matches = array(); if (preg_match('/^(\\-|\\+)/', $end, $matches)) { $end = substr($end, 1); } $matches = array(); preg_match('/^[a-z]+/', $end, $matches); $type = isset($matches[0]) ? VersionParser::normalizeStability($matches[0]) : null; $end = substr($end, strlen($type)); return array($type, $version, $end); }