Code Duplication    Length = 37-37 lines in 2 locations

src/Description/Standard/OpenApi/OpenApiFactory.php 1 location

@@ 19-55 (lines=37) @@
16
/**
17
 * @author John Kleijn <[email protected]>
18
 */
19
class OpenApiFactory implements StandardFactory
20
{
21
    /**
22
     * @var DefinitionValidator|null
23
     */
24
    private $validator;
25
26
    /**
27
     * Repository constructor.
28
     *
29
     * @param DefinitionValidator|null $validator
30
     */
31
    public function __construct(DefinitionValidator $validator = null)
32
    {
33
        $this->validator = $validator;
34
    }
35
36
    /**
37
     * @param string    $uri
38
     * @param \stdClass $definition
39
     *
40
     * @return Description
41
     */
42
    public function build(string $uri, \stdClass $definition): Description
43
    {
44
        $resolver = new RefResolver($definition, $uri);
45
46
        /** @var \stdClass $definition */
47
        $description = new OpenApiDescription(new Document($uri, $definition = $resolver->resolve()));
48
49
        if ($this->validator) {
50
            $this->validator->validate($definition);
51
        }
52
53
        return $description;
54
    }
55
}
56

src/Description/Standard/Raml/RamlFactory.php 1 location

@@ 19-55 (lines=37) @@
16
/**
17
 * @author John Kleijn <[email protected]>
18
 */
19
class RamlFactory implements StandardFactory
20
{
21
    /**
22
     * @var DefinitionValidator|null
23
     */
24
    private $validator;
25
26
    /**
27
     * Repository constructor.
28
     *
29
     * @param DefinitionValidator|null $validator
30
     */
31
    public function __construct(DefinitionValidator $validator = null)
32
    {
33
        $this->validator = $validator;
34
    }
35
36
    /**
37
     * @param string    $uri
38
     * @param \stdClass $definition
39
     *
40
     * @return Description
41
     */
42
    public function build(string $uri, \stdClass $definition): Description
43
    {
44
        $resolver = new RefResolver($definition, $uri);
45
46
        /** @var \stdClass $definition */
47
        $description = new RamlDescription(new Document($uri, $definition = $resolver->resolve()));
48
49
        if ($this->validator) {
50
            $this->validator->validate($definition);
51
        }
52
53
        return $description;
54
    }
55
}
56