Skip to content

Commit d219a00

Browse files
committed
handle-legacy-doc
1 parent ab7d916 commit d219a00

File tree

7 files changed

+118
-0
lines changed

7 files changed

+118
-0
lines changed

src/Directive/GlossaryDirective.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
3+
namespace SymfonyDocsBuilder\Directive;
4+
5+
use Doctrine\RST\Directives\SubDirective;
6+
7+
class GlossaryDirective extends SubDirective
8+
{
9+
public function getName() : string
10+
{
11+
return 'glossary';
12+
}
13+
}

src/KernelFactory.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ private static function getDirectives(): array
6060
new SymfonyDirectives\WarningDirective(),
6161
new SymfonyDirectives\VersionAddedDirective(),
6262
new SymfonyDirectives\BestPracticeDirective(),
63+
new SymfonyDirectives\GlossaryDirective(),
6364
];
6465
}
6566

@@ -72,6 +73,10 @@ private static function getReferences(BuildContext $buildContext): array
7273
new SymfonyReferences\PhpFunctionReference($buildContext->getPhpDocUrl()),
7374
new SymfonyReferences\PhpMethodReference($buildContext->getPhpDocUrl()),
7475
new SymfonyReferences\PhpClassReference($buildContext->getPhpDocUrl()),
76+
new SymfonyReferences\TermReference(),
77+
new SymfonyReferences\LeaderReference(),
78+
new SymfonyReferences\MergerReference(),
79+
new SymfonyReferences\DeciderReference(),
7580
];
7681
}
7782
}

src/Reference/DeciderReference.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace SymfonyDocsBuilder\Reference;
4+
5+
use Doctrine\RST\Environment;
6+
use Doctrine\RST\References\Reference;
7+
use Doctrine\RST\References\ResolvedReference;
8+
9+
class DeciderReference extends Reference
10+
{
11+
public function getName(): string
12+
{
13+
return 'decider';
14+
}
15+
16+
public function resolve(Environment $environment, string $data): ResolvedReference
17+
{
18+
return new ResolvedReference(
19+
$environment->getCurrentFileName(),
20+
$data,
21+
'#'
22+
);
23+
}
24+
}

src/Reference/LeaderReference.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace SymfonyDocsBuilder\Reference;
4+
5+
use Doctrine\RST\Environment;
6+
use Doctrine\RST\References\Reference;
7+
use Doctrine\RST\References\ResolvedReference;
8+
9+
class LeaderReference extends Reference
10+
{
11+
public function getName(): string
12+
{
13+
return 'leader';
14+
}
15+
16+
public function resolve(Environment $environment, string $data): ResolvedReference
17+
{
18+
return new ResolvedReference(
19+
$environment->getCurrentFileName(),
20+
$data,
21+
'#'
22+
);
23+
}
24+
}

src/Reference/MergerReference.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace SymfonyDocsBuilder\Reference;
4+
5+
use Doctrine\RST\Environment;
6+
use Doctrine\RST\References\Reference;
7+
use Doctrine\RST\References\ResolvedReference;
8+
9+
class MergerReference extends Reference
10+
{
11+
public function getName(): string
12+
{
13+
return 'merger';
14+
}
15+
16+
public function resolve(Environment $environment, string $data): ResolvedReference
17+
{
18+
return new ResolvedReference(
19+
$environment->getCurrentFileName(),
20+
$data,
21+
'#'
22+
);
23+
}
24+
}

src/Reference/MethodReference.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ public function resolve(Environment $environment, string $data): ResolvedReferen
2525
$className = explode('::', $data)[0];
2626
$className = str_replace('\\\\', '\\', $className);
2727

28+
if (false === strpos($data, '::')) {
29+
throw new \RuntimeException(sprintf('Malformed method reference "%s" in file "%s"', $data, $environment->getCurrentFileName()));
30+
}
31+
2832
$methodName = explode('::', $data)[1];
2933

3034
return new ResolvedReference(

src/Reference/TermReference.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace SymfonyDocsBuilder\Reference;
4+
5+
use Doctrine\RST\Environment;
6+
use Doctrine\RST\References\Reference;
7+
use Doctrine\RST\References\ResolvedReference;
8+
9+
class TermReference extends Reference
10+
{
11+
public function getName(): string
12+
{
13+
return 'term';
14+
}
15+
16+
public function resolve(Environment $environment, string $data): ResolvedReference
17+
{
18+
return new ResolvedReference(
19+
$environment->getCurrentFileName(),
20+
$data,
21+
'#'
22+
);
23+
}
24+
}

0 commit comments

Comments
 (0)