Passed
Push — master ( 4e1c14...c00f79 )
by Paul
07:08
created

Partial   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Test Coverage

Coverage 73.32%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
eloc 13
c 1
b 0
f 0
dl 0
loc 35
ccs 11
cts 15
cp 0.7332
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A build() 0 13 2
A render() 0 3 1
A app() 0 3 1
1
<?php
2
3
namespace GeminiLabs\SiteReviews\Modules\Html;
4
5
use GeminiLabs\SiteReviews\Helper;
6
7
class Partial
8
{
9
    /**
10
     * @return \GeminiLabs\SiteReviews\Application|\GeminiLabs\SiteReviews\Addons\Addon
11
     */
12 6
    public function app()
13
    {
14 6
        return glsr();
15
    }
16
17
    /**
18
     * @param string $partialPath
19
     * @return string|void
20
     */
21 6
    public function build($partialPath, array $args = [])
22
    {
23 6
        $className = Helper::buildClassName($partialPath, 'Modules\Html\Partials');
24 6
        $className = $this->app()->filterString('partial/classname', $className, $partialPath);
25 6
        if (!class_exists($className)) {
26
            glsr_log()->error('Partial missing: '.$className);
27
            return;
28
        }
29 6
        $args = $this->app()->filterArray('partial/args/'.$partialPath, $args);
30 6
        $partial = glsr($className)->build($args);
31 6
        $partial = $this->app()->filterString('rendered/partial', $partial, $partialPath, $args);
32 6
        $partial = $this->app()->filterString('rendered/partial/'.$partialPath, $partial, $args);
33 6
        return $partial;
34
    }
35
    /**
36
     * @param string $partialPath
37
     * @return void
38
     */
39
    public function render($partialPath, array $args = [])
40
    {
41
        echo $this->build($partialPath, $args);
42
    }
43
}
44