<?php
/**
* gb media
* All Rights Reserved.
*
* Unauthorized copying of this file, via any medium is strictly prohibited.
* The content of this file is proprietary and confidential.
*
* @category Shopware
* @package Shopware_Plugins
* @subpackage GbmedEnev
* @copyright Copyright (c) 2019, gb media
* @license proprietary
* @author Giuseppe Bottino
* @link http://www.gb-media.biz
*/
declare(strict_types=1);
namespace Gbmed\Enev\Framework\Eprel;
class EprelGroups
{
/**
* @var iterable
*/
private $handlers;
/**
* CaptchaRouteListener constructor.
* @param iterable $handlers
*/
public function __construct(iterable $handlers = [])
{
$this->handlers = $handlers;
}
/**
* find supported group
*
* @param string $group
* @return EprelGroupsInterface|null
*/
public function getGroup(string $group): ?EprelGroupsInterface
{
/** @var EprelGroupsInterface $handler */
foreach ($this->handlers as $handler) {
if ($handler->support($group)) {
return $handler;
}
}
throw new \RuntimeException('Eprel groups "' . $group . '" not found!');
}
}