*/
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:----sFHzYaJpIz12HHm1KZG2E3dyj4Th2F/PhLmLDaGsmlvkvrUX0JWIFf9LbPaVPdMWz4CIIllcif98oVDB21GDly2ICB+d/aOyQ7xHwUovVmgWkQu9Cy40u9+PcKLmzgAvnniFqNBOSOnVaYNK3y/YndKuUKaLlDxfsXUCgFPF5CLjnb5n79kXJLdYoe8TUbu6V2wu6Dkz9ZScUenvHgGWsnyOWaSMNGCafklHRGvNwvA1O4ohnZn0FAP8f2baUGtMAUEilRbdbt+MHrUGC5YjI9DXfNgZYChl/XiLz50pWKKJ9+a3qqrhuc+9XwgLRrVx+1IBtBY01CVsYzbcZObSaWT8UYbQTVSIsdMKonfzDKkmKI8T2Xhvs4iMu9+CAsPoOJAB5E3dHA8iZGp68BBBEFhcojQyXxplG+SfBo2SJG8pj0DNG9CSK1A14hvj324FMh6C0Fe85CY1eVrLjrf8FbzXCb2HVNnBRMOf5gKje1kTM9u+RY+inzFR1f+fMJhH/dBszOK9DZ2Xc/0BCZYMOsSMOCKjhyCXNJRHmspult6Xc50ZBDPL2O45/Xh79CN7a5ospl2sZCwNweQrKIMtC60ZK51lNz8Xo4rp2oT8My7b5L0t8OnfwIV5V6FUvm2n3H2eTTZF26dtzRJHoURNrVK+BxZk3KgtasHjbyvM5+I=----ATTACHMENT:----MTYzMTQyMTQ3ODQ5MDE5OSAzODE1MzY3MTczMTkxMjYyIDEwOTg0NzM0NzI4MjU3MTU=