asrock-memory-qvl-scraper/src/Domain/Normalizer/Decorator/TweakersPricewatchUrl.php

35 lines
808 B
PHP
Raw Normal View History

2021-04-22 19:26:09 +02:00
<?php
namespace Domain\Normalizer\Decorator;
2021-04-28 20:17:37 +02:00
class TweakersPricewatchUrl extends Decorator
2021-04-22 19:26:09 +02:00
{
2021-04-28 20:17:37 +02:00
public function makePass(array $data): array
2021-04-22 19:26:09 +02:00
{
2021-04-28 20:17:37 +02:00
$module = $data['module'] ?? '-';
2021-04-22 19:26:09 +02:00
$module = $this->selectSignificantTerms($module);
2021-04-28 20:17:37 +02:00
$data['pricewatch_url'] = sprintf(
2021-04-22 19:26:09 +02:00
'https://tweakers.net/pricewatch/zoeken/?keyword=%s',
rawurlencode($module)
);
2021-04-28 20:17:37 +02:00
return $data;
2021-04-22 19:26:09 +02:00
}
protected function getAdditionalHeaders(): array
{
return ['pricewatch_url'];
}
private function selectSignificantTerms(string $module): string
{
$parts = explode(' ', trim($module), 2);
if ((count($parts) === 2) && stripos($parts[1], 'ver') !== false) {
return $parts[0];
}
return $module;
}
}