File "FileRemoverFactory.php"
Full Path: /home/clickysoft/public_html/jmapi5.clickysoft.net/vendor/spatie/laravel-medialibrary/src/Support/FileRemover/FileRemoverFactory.php
File size: 872 bytes
MIME-type: text/x-php
Charset: utf-8
<?php
namespace Spatie\MediaLibrary\Support\FileRemover;
use Spatie\MediaLibrary\MediaCollections\Exceptions\InvalidFileRemover;
use Spatie\MediaLibrary\MediaCollections\Models\Media;
class FileRemoverFactory
{
public static function create(Media $media): FileRemover
{
$fileRemoverClass = config('media-library.file_remover_class');
static::guardAgainstInvalidFileRemover($fileRemoverClass);
return app($fileRemoverClass);
}
protected static function guardAgainstInvalidFileRemover(string $fileRemoverClass): void
{
if (! class_exists($fileRemoverClass)) {
throw InvalidFileRemover::doesntExist($fileRemoverClass);
}
if (! is_subclass_of($fileRemoverClass, FileRemover::class)) {
throw InvalidFileRemover::doesNotImplementFileRemover($fileRemoverClass);
}
}
}