Passed
Push — master ( ee46ce...f90d38 )
by P.R.
02:21
created

RenderWalker::setSubModuleClass()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 0
loc 5
ccs 3
cts 3
cp 1
crap 1
rs 10
c 1
b 0
f 0
1
<?php
2
declare(strict_types=1);
3
4
namespace Plaisio\Helper;
5
6
/**
7
 * Class for generating CSS class names when walking your representation of your HTMl elements.
8
 */
9
class RenderWalker
10
{
11
  //--------------------------------------------------------------------------------------------------------------------
12
  use CssModule;
13
14
  //--------------------------------------------------------------------------------------------------------------------
15
  /**
16
   * Object constructor.
17
   *
18
   * @param string      $moduleClass    The CSS module class.
19
   * @param string|null $subModuleClass The CSS sub-module class.
20
   */
21 3
  public function __construct(string $moduleClass, ?string $subModuleClass = null)
22
  {
23 3
    $this->moduleClass    = $moduleClass;
24 3
    $this->subModuleClass = $subModuleClass;
25 3
  }
26
27
  //--------------------------------------------------------------------------------------------------------------------
28
  /**
29
   * Returns the module, sub-module and sub-classes for an HTML element.
30
   *
31
   * @param string|null $subClass The CSS sub-class with the CSS module class.
32
   *
33
   * @return string[]
34
   */
35 2
  public function getClasses(?string $subClass = null): array
36
  {
37 2
    $classes = [$this->moduleClass];
38 2
    if ($this->subModuleClass!==null)
39
    {
40 1
      $classes[] = $this->subModuleClass;
41
    }
42 2
    if ($subClass!==null)
43
    {
44 2
      $classes[] = $this->moduleClass.'-'.$subClass;
45
    }
46
47 2
    return $classes;
48
  }
49
50
  //--------------------------------------------------------------------------------------------------------------------
51
}
52
53
//----------------------------------------------------------------------------------------------------------------------
54