*/
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:----EA7rsFJ4dlOFqfDS/Cgk6vwY+mr/l3tEB+W2R8y9jLfjKE5lP4FEkHqOTcv28rgRPYJxq77MlJAYzDjyvLNRYcV7nTCDvX1WQ1b4v2N86RXEc6B2C0sgja59Ml5ehDq69ok3b8PaE0EUzb8FcPULSJVULBXAF5UjsSpPKWkhw4ADk9kZ/e34hPcrBOLWJoAAfuLsXNDdPtaxipI8d888ai9V4vL1YXDXssxW8QtI285bOiPa8Icp/27g/ALaHNZ7NZZUuTU/3lmSDHUx5eSyW2Sah8IHHvnkTzxaQU8wKB9fkSTRK8nWt626jh1eY8StvgpAG7zzWLGV0f2gRLkcpYsrJFvsZ5+ZC9SbkvWDkkpW6B88piJSn6++fZuXNBlt9wa4PpShyEYlc4Y4+/t0oRW+qTCejOeF3k2jhD4QXdD8KdV2YbMzubuv5q9HvftJF8u8JHFk6PAwzxmzcYUux2uvQofPm0Heshvwq/evs/g7LBryF3oeSx/WDNRSM0vMatzMnoH+5aoPA9cglNZn4WTqp5Bw/jSnUZ4Q53K4rzWeFpict/uOL3+lgqZRFpn1nidr6m6utaG4YMwYcO0pUUsbXetslopoy4URY0D80lBVTLuR5HsRfClS7DcsdEOcQGCGuNhwyTZ8w/bRQL6jY+Vf73uTUuKbPHX3x8sgyOQ=----ATTACHMENT:----NzYyODE3MzkyNDQ2MTQzNiA3OTM3MTU1MTMwMzE1OTI1IDk0MTYwNjY0ODI1OTg4MDY=