Failed Conditions
Push — master ( fa3649...11c8ec )
by Bas
05:38
created

HandlesArangoDb   A

Complexity

Total Complexity 10

Size/Duplication

Total Lines 53
Duplicated Lines 0 %

Test Coverage

Coverage 60%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 22
dl 0
loc 53
ccs 15
cts 25
cp 0.6
rs 10
c 1
b 0
f 0
wmc 10

5 Methods

Rating   Name   Duplication   Size   Complexity  
A getGraphHandler() 0 8 2
A getDocumentHandler() 0 8 2
A getViewHandler() 0 8 2
A getCollectionHandler() 0 8 2
A getUserHandler() 0 8 2
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 118
    public function getCollectionHandler()
19
    {
20 118
        if (!isset($this->arangoHandlers['collection'])) {
21 118
            $this->arangoHandlers['collection'] = new ArangoCollectionHandler($this->arangoConnection);
22 118
            $this->arangoHandlers['collection']->setDocumentClass(Document::class);
23
        }
24
25 118
        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 118
    public function getGraphHandler()
49
    {
50 118
        if (!isset($this->arangoHandlers['graph'])) {
51 118
            $this->arangoHandlers['graph'] = new ArangoGraphHandler($this->arangoConnection);
52 118
            $this->arangoHandlers['graph']->setDocumentClass(Document::class);
53
        }
54
55 118
        return $this->arangoHandlers['graph'];
56
    }
57
58 118
    public function getViewHandler()
59
    {
60 118
        if (!isset($this->arangoHandlers['view'])) {
61 118
            $this->arangoHandlers['view'] = new ArangoViewHandler($this->arangoConnection);
62 118
            $this->arangoHandlers['view']->setDocumentClass(Document::class);
63
        }
64
65 118
        return $this->arangoHandlers['view'];
66
    }
67
}
68