Completed
Push — master ( 467596...f57d95 )
by Arne
02:35
created

InheritanceConfig::isPublicOnlyMode()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 3
c 0
b 0
f 0
rs 10
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
/**
3
 * Copyright (c) 2010-2018 Arne Blankerts <[email protected]>
4
 * All rights reserved.
5
 *
6
 * Redistribution and use in source and binary forms, with or without modification,
7
 * are permitted provided that the following conditions are met:
8
 *
9
 *   * Redistributions of source code must retain the above copyright notice,
10
 *     this list of conditions and the following disclaimer.
11
 *
12
 *   * Redistributions in binary form must reproduce the above copyright notice,
13
 *     this list of conditions and the following disclaimer in the documentation
14
 *     and/or other materials provided with the distribution.
15
 *
16
 *   * Neither the name of Arne Blankerts nor the names of contributors
17
 *     may be used to endorse or promote products derived from this software
18
 *     without specific prior written permission.
19
 *
20
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT  * NOT LIMITED TO,
22
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER ORCONTRIBUTORS
24
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
25
 * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30
 * POSSIBILITY OF SUCH DAMAGE.
31
 *
32
 * @package    phpDox
33
 * @author     Arne Blankerts <[email protected]>
34
 * @copyright  Arne Blankerts <[email protected]>, All rights reserved.
35
 * @license    BSD License
36
 *
37
 */
38
39
namespace TheSeer\phpDox {
40
41
    use TheSeer\fDOM\fDOMElement;
42
43
    class InheritanceConfig {
44
45
        protected $ctx;
46
        protected $config;
47
48
        public function __construct(CollectorConfig $config, fDOMElement $ctx = NULL) {
49
            $this->config = $config;
50
            $this->ctx = $ctx;
51
        }
52
53
        public function isPublicOnlyMode() {
54
            return $this->config->isPublicOnlyMode();
55
        }
56
57
        /**
58
         * @return array
59
         */
60
        public function getDependencyDirectories() {
61
            $home = $this->config->getProjectConfig()->getHomeDirectory();
62
            $default = new FileInfo($home->getPathname() . '/dependencies/php');
63
            $list = array($default);
64
            if (!$this->ctx) {
65
                return $list;
66
            }
67
            foreach($this->ctx->query('cfg:dependency') as $dep) {
68
                if ($dep->hasAttribute('path')) {
69
                    $list[] = new FileInfo($dep->getAttribute('path'));
70
                }
71
            }
72
            return $list;
73
        }
74
75
    }
76
77
}
78