Passed
Push — master ( 59c1b9...1f2705 )
by Paul
04:56
created

Field::build()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
ccs 0
cts 3
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace GeminiLabs\SiteReviews\Modules\Html\Fields;
4
5
use GeminiLabs\SiteReviews\Modules\Html\Builder;
6
7
abstract class Field
8
{
9
	/**
10
	 * @var Builder
11
	 */
12
	protected $builder;
13
14
	public function __construct( Builder $builder )
15
	{
16
		$this->builder = $builder;
17
	}
18
19
	/**
20
	 * @return string|void
21
	 */
22
	public function build()
23
	{
24
		glsr_log()->error( 'Build method is not implemented for '.__CLASS__ );
25
	}
26
27
	/**
28
	 * @return array
29
	 */
30
	public static function defaults()
31
	{
32
		return [];
33
	}
34
35
	/**
36
	 * @return array
37
	 */
38
	public static function required()
39
	{
40
		return [];
41
	}
42
43
	/**
44
	 * @return void
45
	 */
46
	protected function mergeFieldArgs()
47
	{
48
		$this->builder->args = array_merge(
49
			wp_parse_args( $this->builder->args, static::defaults() ),
50
			static::required()
51
		);
52
	}
53
}
54