src/Entities/Modificators/ResizeModificator.php
<?php namespace Feugene\Files\Entities\Modificators; use Feugene\Files\Entities\AbstractModificator; /** * Class ResizeModificator * * @package Feugene\Files\Entities */class ResizeModificator extends AbstractModificator{ /** * @var int */ public $height; /** * @var int */ public $width; /** * @var bool */ public $bestFit = true; /** * ResizeModificator constructor. * * @param int|null $width * @param int|null $height * @param bool $bestFit */ public function __construct(?int $width = null, ?int $height = null, bool $bestFit = true) { $this->value = [$width, $height]; $this->width = $width; $this->height = $height; $this->bestFit = $bestFit; } /** * @return string */ public function getValueString(): string { return $this->width . 'x' . $this->height; } /** * @param \Feugene\Files\Models\ImageFile $model * @param mixed ...$options * - boolean $allow_enlarge All resize functions have $allow_enlarge option which is set to false by default. You * can enable by passing true to any resize function * * @throws \Gumlet\ImageResizeException */Function `handle` has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring. public function handle($model, ... $options) { if ($this->width !== null && $this->height !== null) { if ($this->bestFit) { $model->getImageProcessor()->resizeToBestFit($this->width, $this->height, ...$options); } else { $model->getImageProcessor()->resize($this->width, $this->height, ...$options); } } elseif ($this->width !== null && $this->height === null) { $model->getImageProcessor()->resizeToWidth($this->width, ...$options); } elseif ($this->width === null && $this->height !== null) { $model->getImageProcessor()->resizeToHeight($this->height, ...$options); } }}