findVendorDirectory()   A
last analyzed

Complexity

Conditions 4
Paths 1

Size

Total Lines 14
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 10
CRAP Score 4.0119

Importance

Changes 2
Bugs 1 Features 0
Metric Value
cc 4
eloc 10
c 2
b 1
f 0
nc 1
nop 0
dl 0
loc 14
ccs 10
cts 11
cp 0.9091
crap 4.0119
rs 9.9332
1
<?php
2
declare(strict_types=1);
3
4
namespace Nexendrie\SiteGenerator;
5
6
function findVendorDirectory(): string {
7 1
  $recursionLimit = 10;
8 1
  $findVendor = function ($dirName = "vendor/bin", $dir = __DIR__) use (&$findVendor, &$recursionLimit) {
9 1
    $recursionLimit--;
10 1
    if($recursionLimit < 1) {
11
      throw new \Exception("Cannot find vendor directory.");
12
    }
13 1
    $found = $dir . "/$dirName";
14 1
    if(is_dir($found) || is_file($found)) {
15 1
      return dirname($found);
16
    }
17 1
    return $findVendor($dirName, dirname($dir));
18 1
  };
19 1
  return $findVendor();
20
}
21
?>