/** * For a given commit message, creates ChangeInfoEnvelope containing all ChangeInfo. * * @param CommitMessage $commitMessage * @return ChangeInfoEnvelope|UntrackedChangeInfo */ public static function buildChangeInfo(CommitMessage $commitMessage) { if (self::findMatchingChangeInfo($commitMessage) === 'VersionPress\\ChangeInfos\\UntrackedChangeInfo') { return UntrackedChangeInfo::buildFromCommitMessage($commitMessage); } return ChangeInfoEnvelope::buildFromCommitMessage($commitMessage); }
/** * @param ChangeInfoEnvelope|UntrackedChangeInfo $changeInfo * @param string $fullAction * @return bool * @throws \Exception */ public static function containsAction($changeInfo, $fullAction) { if ($changeInfo instanceof ChangeInfoEnvelope) { $changeInfos = $changeInfo->getChangeInfoList(); foreach ($changeInfos as $ci) { if (self::getFullAction($ci) == $fullAction) { return true; } } return false; } else { throw new \Exception("Only ChangeInfoEnvelopes are supported"); } }