public getLatestVersion ( ) : Scalr\Model\Entity\ScriptVersion | ||
return | Scalr\Model\Entity\ScriptVersion |
public function getLatestVersion()
{
/* @var $version ScriptVersion */
$version = ScriptVersion::findOne([['scriptId' => $this->id]], null, ['version' => false]);
if (!$version) {
throw new Exception(sprintf('No version found for script %d', $this->id));
}
return $version;
}
/** * Creates versions for specified script from versions definitions * * @param Script $script Script for witch created versions * @param array $versionsData Versions definitions * * @return ScriptVersion[] * * @throws Exception */ public static function generateVersions(Script $script, array $versionsData) { $versions = []; try { $latestVersion = $script->getLatestVersion()->version + 1; } catch (Exception $e) { $latestVersion = 1; } foreach ($versionsData as $versionData) { $versionData['scriptId'] = $script->id; $versionData['version'] = $latestVersion++; $versionData['changedById'] = static::$testUserId; $versionData['changedByEmail'] = static::$user->getEmail(); $versions[] = static::createEntity(new ScriptVersion(), $versionData); } return $versions; }