/** * @param ModelContract $model * @param Image $image * @param string $styleName * @param \Closure $closure * * @return Image */ protected function processStyle(ModelContract $model, $image, $styleName, $closure) { if (is_null($closure)) { $this->save($image, $model->getPath($styleName)); return $image; } $processed = $this->applyStyle($image, $closure); $this->save($processed, $model->getPath($styleName)); return $processed; }