Passed
Push — next ( cade46...f034dd )
by Bas
05:34 queued 02:21
created

ArangoCommands::connectionHasArangodbDriver()   A

Complexity

Conditions 5
Paths 3

Size

Total Lines 12
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 5.0729

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 5
eloc 6
c 1
b 0
f 0
nc 3
nop 1
dl 0
loc 12
ccs 6
cts 7
cp 0.8571
crap 5.0729
rs 9.6111
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 6
    protected function connectionHasArangodbDriver(?string $name): bool
12
    {
13 6
        if ($name == '' && ! $this->arangodbIsDefaultConnection()) {
14
            return false;
15
        }
16 6
        if ($name == '' && $this->arangodbIsDefaultConnection()) {
17 3
            return true;
18
        }
19
20 3
        $connections = config('database.connections');
21
22 3
        return $connections[$name]['driver'] === 'arangodb';
23
    }
24
25 343
    protected function arangodbIsDefaultConnection(): bool
26
    {
27 343
        $connection = \DB::connection();
28
29 343
        return $connection->getDriverName() === 'arangodb';
30
    }
31
32
33 39
    protected function useFallback(): bool
34
    {
35 39
        return !$this->arangodbIsDefaultConnection() && !$this->useArangoDB;
36
    }
37
}
38