Skip to content

Commit 5375273

Browse files
committed
extract classes refactor
1 parent 83ba08b commit 5375273

File tree

4 files changed

+63
-30
lines changed

4 files changed

+63
-30
lines changed

src/Features/CheckImports/Handlers/FixWrongClassRefs.php

Lines changed: 2 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public static function handle(array $wrongClassRefs, PhpFileDescriptor $file, $h
2222
$line = $classReference['line'];
2323

2424
if (! Fixer::isInUserSpace($wrongClassRef)) {
25-
self::wrongRef($printer, $wrongClassRef, $file, $line);
25+
WrongClassRefHandler::handle($wrongClassRef, $file, $line);
2626
continue;
2727
}
2828

@@ -37,7 +37,7 @@ public static function handle(array $wrongClassRefs, PhpFileDescriptor $file, $h
3737
if ($isFixed) {
3838
self::printFixation($file, $wrongClassRef, $line, $corrections);
3939
} else {
40-
self::wrongUsedClassError($file, $wrongClassRef, $line);
40+
WrongImportHandler::handle($wrongClassRef, $file, $line);
4141
}
4242

4343
if ($isFixed) {
@@ -64,18 +64,6 @@ private static function fixClassReference($file, $class, $line, $namespace)
6464
return Fixer::fixReference($file, $class, $line);
6565
}
6666

67-
private static function wrongRef($printer, $wrongClassRef, $file, int $line): void
68-
{
69-
$wrongClassRef = Color::yellow(class_basename($wrongClassRef));
70-
$printer->simplePendError(
71-
self::getLineContent($line, $file),
72-
$file,
73-
$line,
74-
'wrongClassRef',
75-
"Inline class Ref '$wrongClassRef' does not exist:"
76-
);
77-
}
78-
7967
private static function printFixation(PhpFileDescriptor $file, $wrongClass, int $line, $correct)
8068
{
8169
ErrorPrinter::singleton()->simplePendError(
@@ -87,17 +75,6 @@ private static function printFixation(PhpFileDescriptor $file, $wrongClass, int
8775
);
8876
}
8977

90-
private static function wrongUsedClassError(PhpFileDescriptor $file, $class, int $line)
91-
{
92-
ErrorPrinter::singleton()->simplePendError(
93-
self::getLineContent($line, $file),
94-
$file,
95-
$line,
96-
'wrongClassRef',
97-
'Class '.Color::yellow(class_basename($class)).' does not exist:'
98-
);
99-
}
100-
10178
#[Pure]
10279
private static function removeFirst($search, $subject)
10380
{
@@ -107,9 +84,4 @@ private static function removeFirst($search, $subject)
10784

10885
return $subject;
10986
}
110-
111-
private static function getLineContent(int $line, $file): string
112-
{
113-
return Color::gray("$line| ").trim($file->getLine($line), PHP_EOL.' ');
114-
}
11587
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
3+
namespace Imanghafoori\LaravelMicroscope\Features\CheckImports\Handlers;
4+
5+
use Imanghafoori\LaravelMicroscope\Foundations\Color;
6+
use Imanghafoori\LaravelMicroscope\Foundations\PhpFileDescriptor;
7+
8+
trait GetLineContent
9+
{
10+
public static function readLine(int $line, PhpFileDescriptor $file): string
11+
{
12+
return Color::gray("$line| ").trim($file->getLine($line), PHP_EOL.' ');
13+
}
14+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace Imanghafoori\LaravelMicroscope\Features\CheckImports\Handlers;
4+
5+
use Imanghafoori\LaravelMicroscope\ErrorReporters\ErrorPrinter;
6+
use Imanghafoori\LaravelMicroscope\Foundations\Color;
7+
use Imanghafoori\LaravelMicroscope\Foundations\PhpFileDescriptor;
8+
9+
class WrongClassRefHandler
10+
{
11+
use GetLineContent;
12+
13+
public static function handle($wrongClassRef, PhpFileDescriptor $file, int $line): void
14+
{
15+
$wrongClassRef = Color::yellow(class_basename($wrongClassRef));
16+
ErrorPrinter::singleton()->simplePendError(
17+
self::readLine($line, $file),
18+
$file,
19+
$line,
20+
'wrongClassRef',
21+
"Inline class ref '$wrongClassRef' does not exist:"
22+
);
23+
}
24+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?php
2+
3+
namespace Imanghafoori\LaravelMicroscope\Features\CheckImports\Handlers;
4+
5+
use Imanghafoori\LaravelMicroscope\ErrorReporters\ErrorPrinter;
6+
use Imanghafoori\LaravelMicroscope\Foundations\Color;
7+
use Imanghafoori\LaravelMicroscope\Foundations\PhpFileDescriptor;
8+
9+
class WrongImportHandler
10+
{
11+
use GetLineContent;
12+
13+
public static function handle($class, PhpFileDescriptor $file, int $line)
14+
{
15+
ErrorPrinter::singleton()->simplePendError(
16+
self::readLine($line, $file),
17+
$file,
18+
$line,
19+
'wrongClassRef',
20+
'Class '.Color::yellow(class_basename($class)).' does not exist:'
21+
);
22+
}
23+
}

0 commit comments

Comments
 (0)