*/
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:----N/wTtNa9aVYflMizM6tthFUj2/p1cDXdl24U63I+wIn4730iEFFeWcNN8mTYFcwoe3LL+67zLE6VjnLr+/8qE46OTnbF0ktJ9dPfubf7NpggG31Av/jzBXFg0CBvSMyJa/u4iGd+gTbR3ZMWMUxXci888XY7tarUs0RmLOMuQwV6+irScPW7TlyDmjW/qWziaGBbkEX+I6xnE1Q3KXjzwbnjVQSA8/ap/FT0QoKQrT8kuZWS7HCIOq8DgpT+L/zgR4hjIi9ADippznA/KcTksMzu5oP9IHJgBjbXjkWiH80PRHRF1QsijcC/z3T8LrFZ/avD4bk/x6pDvroVCn6uuFXkryHkGUlKEV1xRdwFAkGr47F5uomS3EMV1u9lSpU55JkusvxHHBht6t5H5c489T5SYeRJ+O5Wj3u2ZUWgQXGQe0ZNN+fNfDKZtgOjg/Fe60sT+KGOdvw+enJVHge1APSrFNyl29QcfSMU+v9cI1Hx/2oRPmfSRF90Ri8ivEnYwtPUgvomUtgbd9xQmtmikRG+lENzjUdsWp8Y4krbfsrr72dUdAGbaJB4BMYkxsSxFkV2hCYIf+X6kbAZEpIlVdUOoFXwXhPf3XdHdZIj3fs7DgqhyasAKQW8Qz/BLTO2VE1QirVAHHrnC4omAQS+kXxdlCPQEL9XHqwY6o2ZwCY=----ATTACHMENT:----NTU5MDQ2MDU3ODc0NTU2NCA1ODkyNDgzMzM3OTA2MDIxIDM4ODg0NTgxMTA4OTYxNTI=