Skip to content

Commit 4afafeb

Browse files
deemonicclaude
andcommitted
refactor: remove domain-specific detection strategies
Remove gaming, social media, and workplace detection strategies to simplify the package and focus on core profanity filtering functionality. - Delete GamingDetectionStrategy, SocialMediaDetectionStrategy, WorkplaceDetectionStrategy - Simplify StrategyFactory to only support default strategy - Remove DomainSpecificStrategiesTest - Update related test files to remove domain-specific references 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 5807b5c commit 4afafeb

8 files changed

Lines changed: 39 additions & 702 deletions

‎src/Factories/StrategyFactory.php‎

Lines changed: 3 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@
44

55
use Blaspsoft\Blasp\Contracts\DetectionStrategyInterface;
66
use Blaspsoft\Blasp\Strategies\DefaultDetectionStrategy;
7-
use Blaspsoft\Blasp\Strategies\GamingDetectionStrategy;
8-
use Blaspsoft\Blasp\Strategies\SocialMediaDetectionStrategy;
9-
use Blaspsoft\Blasp\Strategies\WorkplaceDetectionStrategy;
107
use InvalidArgumentException;
118

129
/**
@@ -23,9 +20,6 @@ class StrategyFactory
2320
{
2421
private static array $availableStrategies = [
2522
'default' => DefaultDetectionStrategy::class,
26-
'gaming' => GamingDetectionStrategy::class,
27-
'social_media' => SocialMediaDetectionStrategy::class,
28-
'workplace' => WorkplaceDetectionStrategy::class,
2923
];
3024

3125
/**
@@ -103,34 +97,8 @@ public static function registerStrategy(string $name, string $strategyClass): vo
10397
*/
10498
public static function createForContext(array $context): array
10599
{
106-
$strategies = [self::create('default')]; // Always include default
107-
108-
// Gaming context
109-
if (isset($context['domain']) && $context['domain'] === 'gaming') {
110-
$strategies[] = self::create('gaming');
111-
}
112-
113-
// Social media context
114-
if (isset($context['platform']) && in_array($context['platform'], ['twitter', 'facebook', 'instagram', 'tiktok'])) {
115-
$strategies[] = self::create('social_media');
116-
}
117-
118-
// Workplace context
119-
if (isset($context['environment']) && $context['environment'] === 'workplace') {
120-
$strategies[] = self::create('workplace');
121-
}
122-
123-
// Remove duplicates based on strategy name
124-
$uniqueStrategies = [];
125-
$strategyNames = [];
126-
127-
foreach ($strategies as $strategy) {
128-
if (!in_array($strategy->getName(), $strategyNames)) {
129-
$uniqueStrategies[] = $strategy;
130-
$strategyNames[] = $strategy->getName();
131-
}
132-
}
133-
134-
return $uniqueStrategies;
100+
// For now, just return the default strategy
101+
// Context parameter kept for backwards compatibility
102+
return [self::create('default')];
135103
}
136104
}

‎src/Strategies/GamingDetectionStrategy.php‎

Lines changed: 0 additions & 89 deletions
This file was deleted.

‎src/Strategies/SocialMediaDetectionStrategy.php‎

Lines changed: 0 additions & 103 deletions
This file was deleted.

‎src/Strategies/WorkplaceDetectionStrategy.php‎

Lines changed: 0 additions & 109 deletions
This file was deleted.

‎tests/DetectionStrategyRegistryTest.php‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ public function test_get_applicable_strategies_filters_correctly()
102102
$this->registry->register('can', $canHandle);
103103
$this->registry->register('cannot', $cannotHandle);
104104

105-
$applicable = $this->registry->getApplicableStrategies('test text', ['domain' => 'gaming']);
105+
$applicable = $this->registry->getApplicableStrategies('test text', ['domain' => 'test']);
106106

107107
$this->assertCount(1, $applicable);
108108
$this->assertSame($canHandle, $applicable[0]);

0 commit comments

Comments
 (0)