Passed
Push — master ( d8a10a...d39919 )
by Allan
02:25
created

ReleaseAnalyser   A

Complexity

Total Complexity 9

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 9
eloc 13
dl 0
loc 33
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
B isSameBranch() 0 21 8
A __construct() 0 3 1
1
<?php
2
/**
3
 * Copyright © Vaimo Group. All rights reserved.
4
 * See LICENSE_VAIMO.txt for license details.
5
 */
6
namespace Vaimo\ComposerChangelogs\Analysers;
7
8
class ReleaseAnalyser
9
{
10
    /**
11
     * @var \Vaimo\ComposerChangelogs\Resolvers\ReleaseDetailsResolver
12
     */
13
    private $detailsResolver;
14
    
15
    public function __construct()
16
    {
17
        $this->detailsResolver = new \Vaimo\ComposerChangelogs\Resolvers\ReleaseDetailsResolver();
18
    }
19
20
    public function isSameBranch(array $item, $branch)
21
    {
22
        $branch = urldecode($branch);
23
24
        $itemBranch = $this->detailsResolver->resolveBranch($item);
25
        
26
        if (!$itemBranch && !$branch) {
27
            return true;
28
        }
29
30
        $isMainBranch = $branch === 'master' || $branch === 'default';
31
        
32
        if (!$itemBranch && $isMainBranch) {
33
            return true;
34
        }
35
36
        if (isset($item['branch']) && $itemBranch === $branch) {
37
            return true;
38
        }
39
40
        return false;
41
    }
42
}
43