Skip to content
This repository was archived by the owner on Jan 31, 2025. It is now read-only.

Commit 2c2a6f9

Browse files
committed
Create Feed Version enum class
1 parent cf8ab0c commit 2c2a6f9

File tree

4 files changed

+20
-8
lines changed

4 files changed

+20
-8
lines changed

src/Versions.php

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?php
2+
3+
namespace JDecool\JsonFeed;
4+
5+
final class Versions
6+
{
7+
const VERSION_1 = 'https://jsonfeed.org/version/1';
8+
9+
private function __construct()
10+
{
11+
}
12+
}

src/Writer/RendererFactory.php

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
namespace JDecool\JsonFeed\Writer;
44

55
use InvalidArgumentException;
6+
use JDecool\JsonFeed\Versions;
67

78
class RendererFactory
89
{
9-
const VERSION_1 = '1.0';
10-
10+
/** @var array */
1111
private $renderers;
1212

1313
/**
@@ -24,14 +24,14 @@ public function __construct()
2424
* @param string $version
2525
* @return Version1\Renderer
2626
*/
27-
public function createRenderer($version = self::VERSION_1)
27+
public function createRenderer($version = Versions::VERSION_1)
2828
{
2929
if (isset($this->renderers[$version])) {
3030
return $this->renderers[$version];
3131
}
3232

3333
switch ($version) {
34-
case self::VERSION_1:
34+
case Versions::VERSION_1:
3535
return new Version1\Renderer();
3636
}
3737

src/Writer/Version1/Renderer.php

+2-3
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,18 @@
88
use JDecool\JsonFeed\Feed;
99
use JDecool\JsonFeed\Hub;
1010
use JDecool\JsonFeed\Item;
11+
use JDecool\JsonFeed\Versions;
1112
use JDecool\JsonFeed\Writer\RendererInterface;
1213

1314
class Renderer implements RendererInterface
1415
{
15-
const VERSION_URL = 'https://jsonfeed.org/version/1';
16-
1716
/**
1817
* {@inheritdoc}
1918
*/
2019
public function render(Feed $feed)
2120
{
2221
$result = [
23-
'version' => self::VERSION_URL,
22+
'version' => Versions::VERSION_1,
2423
'title' => $feed->getTitle(),
2524
];
2625

test/Writer/RendererFactoryTest.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace JDecool\Test\JsonFeed\Writer;
44

55
use JDecool\JsonFeed\Feed;
6+
use JDecool\JsonFeed\Versions;
67
use JDecool\JsonFeed\Writer\RendererFactory;
78
use PHPUnit\Framework\TestCase;
89

@@ -20,7 +21,7 @@ public function testCreateVersion1Renderer()
2021
{
2122
$factory = new RendererFactory();
2223

23-
$renderer = $factory->createRenderer(RendererFactory::VERSION_1);
24+
$renderer = $factory->createRenderer(Versions::VERSION_1);
2425
$this->assertInstanceOf('JDecool\JsonFeed\Writer\Version1\Renderer', $renderer);
2526
}
2627

0 commit comments

Comments
 (0)