/** * Automatically make the generator class we need. * * @param string|callable $kind The kind of attribute. * @param object $model The model instance. * @param \League\FactoryMuffin\FactoryMuffin $factoryMuffin The factory muffin instance. * * @return \League\FactoryMuffin\Generators\GeneratorInterface|null */ public function make($kind, $model, FactoryMuffin $factoryMuffin) { if (is_callable($kind)) { return new CallableGenerator($kind, $model, $factoryMuffin); } if (is_string($kind) && strpos($kind, EntityGenerator::getPrefix()) === 0) { return new EntityGenerator($kind, $model, $factoryMuffin); } if (is_string($kind) && strpos($kind, FactoryGenerator::getPrefix()) === 0) { return new FactoryGenerator($kind, $model, $factoryMuffin); } }