Skip to content

Commit f03e5a6

Browse files
authored
Merge pull request #29 from swaggest/meta-refactoring
meta refactoring, schema exporter interface resolves #22
2 parents 99da151 + f2c34af commit f03e5a6

File tree

9 files changed

+28
-36
lines changed

9 files changed

+28
-36
lines changed

src/AbstractMeta.php renamed to src/Meta/AbstractMeta.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
<?php
22

3-
namespace Swaggest\JsonSchema;
3+
namespace Swaggest\JsonSchema\Meta;
44

5-
use Swaggest\JsonSchema\Meta\Meta;
6-
use Swaggest\JsonSchema\Meta\MetaHolder;
75

8-
abstract class AbstractMeta implements Meta
6+
abstract class AbstractMeta
97
{
108
/**
119
* @param MetaHolder $schema

src/Meta/Meta.php

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

src/Meta/MetaHolder.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
interface MetaHolder
77
{
8-
public function addMeta(Meta $meta);
8+
public function addMeta($meta, $name = null);
99

1010
public function getMeta($name);
1111

src/Schema.php

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
use Swaggest\JsonSchema\Exception\ObjectException;
1919
use Swaggest\JsonSchema\Exception\StringException;
2020
use Swaggest\JsonSchema\Exception\TypeException;
21-
use Swaggest\JsonSchema\Meta\Meta;
2221
use Swaggest\JsonSchema\Meta\MetaHolder;
2322
use Swaggest\JsonSchema\Path\PointerUtil;
2423
use Swaggest\JsonSchema\Structure\ClassStructure;
@@ -1179,19 +1178,22 @@ public function setProperty($name, $schema)
11791178
return $this;
11801179
}
11811180

1182-
/** @var Meta[] */
1181+
/** @var mixed[] */
11831182
private $metaItems = array();
11841183

1185-
public function addMeta(Meta $meta)
1184+
public function addMeta($meta, $name = null)
11861185
{
1187-
$this->metaItems[get_class($meta)] = $meta;
1186+
if ($name === null) {
1187+
$name = get_class($meta);
1188+
}
1189+
$this->metaItems[$name] = $meta;
11881190
return $this;
11891191
}
11901192

1191-
public function getMeta($className)
1193+
public function getMeta($name)
11921194
{
1193-
if (isset($this->metaItems[$className])) {
1194-
return $this->metaItems[$className];
1195+
if (isset($this->metaItems[$name])) {
1196+
return $this->metaItems[$name];
11951197
}
11961198
return null;
11971199
}

src/SchemaExporter.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?php
2+
3+
namespace Swaggest\JsonSchema;
4+
5+
6+
interface SchemaExporter
7+
{
8+
/**
9+
* @return Schema
10+
*/
11+
public function exportSchema();
12+
}

src/TODO.md

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

src/Wrapper.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
namespace Swaggest\JsonSchema;
44

5-
use Swaggest\JsonSchema\Meta\Meta;
65
use Swaggest\JsonSchema\Meta\MetaHolder;
76
use Swaggest\JsonSchema\Structure\Nested;
87

@@ -179,9 +178,9 @@ public function __isset($name)
179178
throw new Exception('Unexpected isset: ' . $name);
180179
}
181180

182-
public function addMeta(Meta $meta)
181+
public function addMeta($meta, $name = null)
183182
{
184-
$this->originalSchema->addMeta($meta);
183+
$this->originalSchema->addMeta($meta, $name);
185184
return $this;
186185
}
187186

tests/src/Helper/DbId.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
namespace Swaggest\JsonSchema\Tests\Helper;
44

55
use Swaggest\JsonSchema\Constraint\Properties;
6-
use Swaggest\JsonSchema\AbstractMeta;
6+
use Swaggest\JsonSchema\Meta\AbstractMeta;
77
use Swaggest\JsonSchema\Schema;
88
use Swaggest\JsonSchema\Structure\ClassStructureContract;
99
use Swaggest\JsonSchema\Structure\ClassStructureTrait;

tests/src/Helper/DbTable.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace Swaggest\JsonSchema\Tests\Helper;
44

5-
use Swaggest\JsonSchema\AbstractMeta;
5+
use Swaggest\JsonSchema\Meta\AbstractMeta;
66
use Swaggest\JsonSchema\Schema;
77
use Swaggest\JsonSchema\Structure\ClassStructureContract;
88
use Swaggest\JsonSchema\Structure\ClassStructureTrait;

0 commit comments

Comments
 (0)