Passed
Push — master ( 0971b0...b7d7cf )
by Kirill
03:21
created

TypeObject   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 1
lcom 0
cbo 1
dl 0
loc 37
ccs 5
cts 5
cp 1
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 7 1
1
<?php
2
/**
3
 * This file is part of Railt package.
4
 *
5
 * For the full copyright and license information, please view the LICENSE
6
 * file that was distributed with this source code.
7
 */
8
declare(strict_types=1);
9
10
namespace Railt\Reflection\Introspection\Object;
11
12
use Railt\Reflection\Definition\ObjectDefinition;
13
use Railt\Reflection\Document;
14
15
/**
16
 * Class TypeObject
17
 */
18
class TypeObject extends ObjectDefinition
19
{
20
    /**
21
     * @var string
22
     */
23
    public const TYPE_NAME = '__Type';
24
25
    /**
26
     * @var string
27
     */
28
    public const TYPE_DESCRIPTION = 'The fundamental unit of any GraphQL Schema is the type. There are
29
many kinds of types in GraphQL as represented by the __TypeKind enum.
30
31
Depending on the kind of a type, certain fields describe information
32
about that type. Scalar types provide no information beyond a name
33
and description, while Enum types provide their values. Object and
34
Interface types provide the fields they describe. Abstract types,
35
Union and Interface, provide the Object types possible at runtime.
36
List and NonNull types compose other types.';
37
38
    /**
39
     * @var int
40
     */
41
    public const TYPE_LINE = 36;
42
43
    /**
44
     * SchemaObject constructor.
45
     * @param Document $document
46
     */
47 9
    public function __construct(Document $document)
48
    {
49 9
        parent::__construct($document, static::TYPE_NAME);
50
51 9
        $this->withDescription(self::TYPE_DESCRIPTION);
52 9
        $this->withLine(self::TYPE_LINE);
53 9
    }
54
}
55