Passed
Push — develop ( 2d7b42...b3143e )
by Brent
03:12
created

HtaccessHeaderCompiler   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 5

Importance

Changes 0
Metric Value
dl 0
loc 30
rs 10
c 0
b 0
f 0
wmc 3
lcom 1
cbo 5

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A compilePage() 0 10 2
1
<?php
2
3
namespace Brendt\Stitcher\Site\Http;
4
5
use Brendt\Stitcher\Site\Page;
6
use Tivie\HtaccessParser\Token\Directive;
7
8
class HtaccessHeaderCompiler implements HeaderCompiler
9
{
10
    /**
11
     * @var Htaccess
12
     */
13
    private $htaccess;
14
15
    /**
16
     * HtaccessHeaderCompiler constructor.
17
     *
18
     * @param Htaccess $htaccess
19
     */
20
    public function __construct(Htaccess $htaccess) {
21
        $this->htaccess = $htaccess;
22
    }
23
24
    /**
25
     * @param Page $page
26
     */
27
    public function compilePage(Page $page) : void {
28
        $pageBlock = $this->htaccess->getPageBlock($page);
29
30
        foreach ($page->getHeaders() as $header) {
31
            $directive = new Directive('Header');
32
            $directive->addArgument("add {$header->getHtaccessHeader()}");
33
34
            $pageBlock->addChild($directive);
35
        }
36
    }
37
}
38