eventbrite_one_way_sync-1.0.0/src/Processor/ProcessorFactory.php
src/Processor/ProcessorFactory.php
<?php
namespace Drupal\eventbrite_one_way_sync\Processor;
use Drupal\eventbrite_one_way_sync\Utilities\CommonUtilities;
use Drupal\eventbrite_one_way_sync\Utilities\DependencyInjection;
/**
* Obtain a processor for a struct.
*/
class ProcessorFactory implements ProcessorFactoryInterface {
use CommonUtilities;
use DependencyInjection;
/**
* {@inheritdoc}
*/
public function getProcessor(string $eventbrite_account_label, array $struct, callable $log) : ProcessorInterface {
$this->assertNonEmptyString($eventbrite_account_label, 'Eventbrite account label cannot be empty');
if (array_key_exists('is_series', $struct) && $struct['is_series']) {
return new SeriesProcessor($eventbrite_account_label, $struct, $log);
}
else {
return new SingleDateProcessor($eventbrite_account_label, $struct, $log);
}
}
}
