Passed
Pull Request — master (#38)
by Bas
17:19
created

HandlesArangoDb::getGraphHandler()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 4
nc 2
nop 0
dl 0
loc 8
rs 10
c 1
b 0
f 0
1
<?php
2
3
namespace LaravelFreelancerNL\Aranguent\Concerns;
4
5
use ArangoDBClient\CollectionHandler as ArangoCollectionHandler;
6
use ArangoDBClient\DocumentHandler as ArangoDocumentHandler;
7
use ArangoDBClient\GraphHandler as ArangoGraphHandler;
8
use ArangoDBClient\UserHandler as ArangoUserHandler;
9
use ArangoDBClient\ViewHandler as ArangoViewHandler;
10
use LaravelFreelancerNL\Aranguent\Document;
11
use Throwable;
12
13
trait HandlesArangoDb
14
{
15
16
    protected $arangoHandlers;
17
18
    public function getCollectionHandler()
19
    {
20
        if (!isset($this->arangoHandlers['collection'])) {
21
            $this->arangoHandlers['collection'] = new ArangoCollectionHandler($this->arangoConnection);
22
            $this->arangoHandlers['collection']->setDocumentClass(Document::class);
23
        }
24
25
        return $this->arangoHandlers['collection'];
26
    }
27
28
    public function getDocumentHandler()
29
    {
30
        if (!isset($this->arangoHandlers['document'])) {
31
            $this->arangoHandlers['document'] = new ArangoDocumentHandler($this->arangoConnection);
32
            $this->arangoHandlers['document']->setDocumentClass(Document::class);
33
        }
34
35
        return $this->arangoHandlers['document'];
36
    }
37
38
    public function getUserHandler()
39
    {
40
        if (!isset($this->arangoHandlers['user'])) {
41
            $this->arangoHandlers['user'] = new ArangoUserHandler($this->arangoConnection);
42
            $this->arangoHandlers['user']->setDocumentClass(Document::class);
43
        }
44
45
        return $this->arangoHandlers['user'];
46
    }
47
48
    public function getGraphHandler()
49
    {
50
        if (!isset($this->arangoHandlers['graph'])) {
51
            $this->arangoHandlers['graph'] = new ArangoGraphHandler($this->arangoConnection);
52
            $this->arangoHandlers['graph']->setDocumentClass(Document::class);
53
        }
54
55
        return $this->arangoHandlers['graph'];
56
    }
57
58
    public function getViewHandler()
59
    {
60
        if (!isset($this->arangoHandlers['view'])) {
61
            $this->arangoHandlers['view'] = new ArangoViewHandler($this->arangoConnection);
62
            $this->arangoHandlers['view']->setDocumentClass(Document::class);
63
        }
64
65
        return $this->arangoHandlers['view'];
66
    }
67
}
68