for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Recurrence\Rrule\Transformer;
use Recurrence\Model\Frequency;
use Recurrence\Rrule\Extractor\FreqExtractor;
use Recurrence\Model\Exception\InvalidRruleException;
use Recurrence\Model\Exception\InvalidFrequencyOptionException;
class FreqTransformer implements RruleTransformerInterface
{
/**
* @throws InvalidRruleException
*/
public function transform(array $values): Frequency
$this->validate($values);
try {
return new Frequency($values[0]);
} catch (InvalidFrequencyOptionException $e) {
throw new InvalidRruleException(FreqExtractor::RRULE_PARAMETER, (string) $values[0]);
}
protected function validate(array $values): void
if (!isset($values[0])) {
throw new InvalidRruleException(FreqExtractor::RRULE_PARAMETER);