ArangoCommands   A
last analyzed

Complexity

Total Complexity 8

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Test Coverage

Coverage 41.67%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 11
c 1
b 0
f 0
dl 0
loc 29
ccs 5
cts 12
cp 0.4167
rs 10
wmc 8

3 Methods

Rating   Name   Duplication   Size   Complexity  
A useFallback() 0 3 2
A arangodbIsDefaultConnection() 0 5 1
A connectionHasArangodbDriver() 0 12 5
1
<?php
2
3
declare(strict_types=1);
4
5
namespace LaravelFreelancerNL\Aranguent\Console\Concerns;
6
7
trait ArangoCommands
8
{
9
    public bool $useArangoDB = false;
10
11
    protected function connectionHasArangodbDriver(?string $name): bool
12
    {
13
        if ($name == '' && ! $this->arangodbIsDefaultConnection()) {
14
            return false;
15
        }
16
        if ($name == '' && $this->arangodbIsDefaultConnection()) {
17
            return true;
18
        }
19
20
        $connections = config('database.connections');
21
22
        return $connections[$name]['driver'] === 'arangodb';
23
    }
24
25 498
    protected function arangodbIsDefaultConnection(): bool
26
    {
27 498
        $connection = \DB::connection();
28
29 498
        return $connection->getDriverName() === 'arangodb';
30
    }
31
32
33 20
    protected function useFallback(): bool
34
    {
35 20
        return !$this->arangodbIsDefaultConnection() && !$this->useArangoDB;
36
    }
37
}
38