Skip to content

Commit

Permalink
add find rule to top
Browse files Browse the repository at this point in the history
  • Loading branch information
TomasVotruba committed Sep 18, 2024
1 parent d357a9a commit cab3ab6
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 34 deletions.
10 changes: 10 additions & 0 deletions resources/views/_snippets/menu_items.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,16 @@ class="nav-link">Try Rector</a>
class="nav-link">Hire Team</a>
</li>

<li class="nav-item">
<a href="{{ action(\App\Controller\FindRuleController::class) }}"
class="nav-link">Find Rule</a>
@if (!isset($includeFooterLinks))
<div class="badge text-white bg-danger"
style="float:right; margin-top: -4.7em; margin-right: -.3em; font-size: .6em">NEW
</div>
@endif
</li>

<li class="nav-item">
<a href="{{ action(\App\Controller\InteractiveController::class) }}"
class="nav-link">Play & Learn</a>
Expand Down
34 changes: 0 additions & 34 deletions src/RuleFilter/RuleFilter.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
namespace App\RuleFilter;

use App\Exception\ShouldNotHappenException;
use App\RuleFilter\Enum\MagicSearch;
use App\RuleFilter\ValueObject\RectorSet;
use App\RuleFilter\ValueObject\RuleMetadata;
use App\Sets\RectorSetsTreeProvider;
Expand Down Expand Up @@ -52,11 +51,6 @@ private function filterByQuery(array $ruleMetadatas, ?string $query): array
return $ruleMetadatas;
}

$specialQueryRuleMetadatas = $this->filterBySpecialQuery($ruleMetadatas, $query);
if ($specialQueryRuleMetadatas !== null) {
return $specialQueryRuleMetadatas;
}

$filteredRuleMetadatas = [];
foreach ($ruleMetadatas as $ruleMetadata) {
$score = $this->matchingScoreResolver->resolve($ruleMetadata, $query);
Expand Down Expand Up @@ -126,32 +120,4 @@ private function filterBySet(array $ruleMetadatas, ?string $set): array
fn (RuleMetadata $ruleMetadata): bool => $activeRectorSet->hasRule($ruleMetadata->getRectorClass())
);
}

/**
* @param RuleMetadata[] $ruleMetadatas
* @return RuleMetadata[]|null
*/
private function filterBySpecialQuery(array $ruleMetadatas, string $query): ?array
{
// special Rector namespace search
return match ($query) {
MagicSearch::SYMFONY_RULES => $this->filterByNamespaceStart($ruleMetadatas, 'Rector\\Symfony\\'),
MagicSearch::PHPUNIT_RULES => $this->filterByNamespaceStart($ruleMetadatas, 'Rector\\PHPUnit\\'),
MagicSearch::DOCTRINE_RULES => $this->filterByNamespaceStart($ruleMetadatas, 'Rector\\Doctrine\\'),
MagicSearch::DOWNGRADE_RULES => $this->filterByNamespaceStart($ruleMetadatas, 'Rector\\DowngradePhp'),
default => null,
};
}

/**
* @param RuleMetadata[] $ruleMetadatas
* @return RuleMetadata[]
*/
private function filterByNamespaceStart(array $ruleMetadatas, string $namespaceStart): array
{
return array_filter(
$ruleMetadatas,
fn (RuleMetadata $ruleMetadata): bool => str_starts_with($ruleMetadata->getRectorClass(), $namespaceStart)
);
}
}

0 comments on commit cab3ab6

Please sign in to comment.