Files
ik-codex/src/Detective/LinePatternDetector.php
indifferentketchup 7c7fe5ca80
Some checks failed
Tests / Run tests on PHP v8.4 (push) Failing after 32s
Tests / Run tests on PHP v8.5 (push) Failing after 2s
Initial import from aternosorg/codex-minecraft
2026-04-30 09:56:57 -05:00

37 lines
822 B
PHP

<?php
namespace Aternos\Codex\Detective;
/**
* Class LinePatternDetector
*
* @package Aternos\Codex\Detective
*/
class LinePatternDetector extends PatternDetector
{
/**
* Detect if the log matches
*
* Counts the lines matching the pattern and returns the percentage from 0-1 for the detective
*
* Returns false when no match is found
*
* @return bool|float
*/
public function detect(): bool|float
{
$lines = $this->getLogContentAsArray();
$matchingCounter = 0;
foreach ($lines as $line) {
if (preg_match($this->pattern, $line) === 1) {
$matchingCounter++;
}
}
if ($matchingCounter === 0) {
return false;
}
return $matchingCounter / count($lines);
}
}