Plank\Mediable\UrlGenerators\UrlGeneratorFactory::create PHP Method

create() public method

Get a UrlGenerator instance for a media.
public create ( Media $media ) : UrlGenerator
$media Plank\Mediable\Media
return UrlGenerator
    public function create(Media $media)
    {
        $driver = $this->getDriverForDisk($media->disk);
        if (array_key_exists($driver, $this->driver_generators)) {
            $class = $this->driver_generators[$driver];
            $generator = app($class);
            $generator->setMedia($media);
            return $generator;
        }
        throw MediaUrlException::generatorNotFound($media->disk, $driver);
    }

Usage Example

 public function test_it_throws_exception_if_cant_map_to_driver()
 {
     $factory = new UrlGeneratorFactory();
     $media = factory(Media::class)->make();
     $this->expectException(MediaUrlException::class);
     $factory->create($media);
 }