• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

eliashaeussler / cache-warmup / 10495565513

21 Aug 2024 06:38PM UTC coverage: 94.463%. Remained the same
10495565513

Pull #389

github

web-flow
[TASK] Update paambaati/codeclimate-action action to v9

| datasource  | package                      | from   | to     |
| ----------- | ---------------------------- | ------ | ------ |
| github-tags | paambaati/codeclimate-action | v8.0.0 | v9.0.0 |
Pull Request #389: [TASK] Update paambaati/codeclimate-action action to v9

1433 of 1517 relevant lines covered (94.46%)

9.11 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

95.45
/src/Helper/FilesystemHelper.php
1
<?php
2

3
declare(strict_types=1);
4

5
/*
6
 * This file is part of the Composer package "eliashaeussler/cache-warmup".
7
 *
8
 * Copyright (C) 2020-2024 Elias Häußler <elias@haeussler.dev>
9
 *
10
 * This program is free software: you can redistribute it and/or modify
11
 * it under the terms of the GNU General Public License as published by
12
 * the Free Software Foundation, either version 3 of the License, or
13
 * (at your option) any later version.
14
 *
15
 * This program is distributed in the hope that it will be useful,
16
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
 * GNU General Public License for more details.
19
 *
20
 * You should have received a copy of the GNU General Public License
21
 * along with this program. If not, see <https://www.gnu.org/licenses/>.
22
 */
23

24
namespace EliasHaeussler\CacheWarmup\Helper;
25

26
use EliasHaeussler\CacheWarmup\Exception;
27
use Symfony\Component\Filesystem;
28

29
use function implode;
30
use function preg_replace;
31
use function rtrim;
32

33
/**
34
 * FilesystemHelper.
35
 *
36
 * @author Elias Häußler <elias@haeussler.dev>
37
 * @license GPL-3.0-or-later
38
 */
39
final class FilesystemHelper
40
{
41
    public static function resolveRelativePath(string $relativePath): string
2✔
42
    {
43
        if (Filesystem\Path::isAbsolute($relativePath)) {
2✔
44
            return $relativePath;
1✔
45
        }
46

47
        return self::joinPathSegments(
1✔
48
            Filesystem\Path::makeAbsolute($relativePath, self::getWorkingDirectory()),
1✔
49
        );
1✔
50
    }
51

52
    public static function getWorkingDirectory(): string
2✔
53
    {
54
        $cwd = realpath((string) getcwd());
2✔
55

56
        if (false === $cwd) {
2✔
57
            throw new Exception\WorkingDirectoryCannotBeResolved();
×
58
        }
59

60
        return self::joinPathSegments(
2✔
61
            Filesystem\Path::canonicalize($cwd),
2✔
62
        );
2✔
63
    }
64

65
    public static function joinPathSegments(string ...$pathSegments): string
6✔
66
    {
67
        return rtrim(
6✔
68
            (string) preg_replace(
6✔
69
                '#[/\\\]+#',
6✔
70
                DIRECTORY_SEPARATOR,
6✔
71
                implode(DIRECTORY_SEPARATOR, $pathSegments),
6✔
72
            ),
6✔
73
            '/\\',
6✔
74
        );
6✔
75
    }
76
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc