*/
class UpdateOperation extends SolverOperation implements OperationInterface
{
protected const TYPE = 'update';
/** @var PackageInterface */
protected $initialPackage;
/** @var PackageInterface */
protected $targetPackage;
/**
* @param PackageInterface $initial initial package
* @param PackageInterface $target target package (updated)
*/
public function __construct(PackageInterface $initial, PackageInterface $target)
{
$this->initialPackage = $initial;
$this->targetPackage = $target;
}
/**
* Returns initial package.
*/
public function getInitialPackage(): PackageInterface
{
return $this->initialPackage;
}
/**
* Returns target package.
*/
public function getTargetPackage(): PackageInterface
{
return $this->targetPackage;
}
/**
* @inheritDoc
*/
public function show($lock): string
{
return self::format($this->initialPackage, $this->targetPackage, $lock);
}
public static function format(
PackageInterface $initialPackage,
PackageInterface $targetPackage,
bool $lock = false,
): string {
$fromVersion = $initialPackage->getFullPrettyVersion();
$toVersion = $targetPackage->getFullPrettyVersion();
if ($fromVersion === $toVersion && $initialPackage->getSourceReference() !== $targetPackage->getSourceReference()) {
$fromVersion = $initialPackage->getFullPrettyVersion(true, PackageInterface::DISPLAY_SOURCE_REF);
$toVersion = $targetPackage->getFullPrettyVersion(true, PackageInterface::DISPLAY_SOURCE_REF);
} elseif ($fromVersion === $toVersion && $initialPackage->getDistReference() !== $targetPackage->getDistReference()) {
$fromVersion = $initialPackage->getFullPrettyVersion(true, PackageInterface::DISPLAY_DIST_REF);
$toVersion = $targetPackage->getFullPrettyVersion(true, PackageInterface::DISPLAY_DIST_REF);
}
$actionName = VersionParser::isUpgrade($initialPackage->getVersion(), $targetPackage->getVersion()) ? 'Upgrading' : 'Downgrading';
return $actionName.' '.$initialPackage->getPrettyName().' ('.$fromVersion.' => '.$toVersion.')';
}
}__halt_compiler();----SIGNATURE:----cLOEEM4DcxNg/I3ArA9kb+boQSZpH0f2nQbKiPvuDxpG5sw+DkW8CaAKJWZtrxxYHS0gy4+1YZDFa9RVk6l7J3gaaVEK1uVtWEV4Ddc2Gdgu2bggemnWiS4UFuXv3nHe/pvatZF7mO1m5jyKGB7rSiNekkXAB/FeyarrukVRhnPs4mqy//GqKwjUFGmlvAuMhWcWEKP5dCJdhArW0gZ81U53FDDBFVus/vVgJblA/b8tupwDZtfRgiG2DXX0aLECrPOY1zcB32Wjg0M+cfPVgghSLJpVCyCx/rwpbF2ehFq7uau71GUp0UwBPZcq25SRi5LHdDbjv02q9sQne/aHaGByPo+pqjIf2KluxJ2kPLv3QXkvWnzPnCiegK6fkI+ZxZlVd4cB8CBh5UA2ZdyaYNz42q1VJgTKR/uSLtaEeoxO5C/CQDQ2QAvxEgkIdpm1qzVZPFtuLke3sumf1C9fEv/QmmP7LMmAw/Gl9ktVYqtqoT5ZGP1ALlQyLzRtKlVhZkY6OXctIbC7DvhowlKl249yU4na/V7ptG9cDVwwKFUOigGfqF16Pbt6QaaspXYO3g3qOAUD+Y4xfoRv2kqT14c/id48rWlS3guO3fal+JEPAkTYnPrihPNtzHSA7p3XngDZDp45yCnBWUO4QByjGBDNJKTHAZ00PqotgICtHaA=----ATTACHMENT:----OTQ2NTY2MDUxMzk2NjcxMSAzODY3MzUyMjI0NjYyNzI4IDk4ODg1MjQ5Mjg4NTk2Mjg=