PriceCalculatorFactory::setClass()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 0
loc 4
ccs 0
cts 0
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
<?php declare(strict_types=1);
2
3
namespace Sunfox\PriceCalculator;
4
5
final class PriceCalculatorFactory
6
{
7
	/**
8
	 * Accepts class name with full namespace.
9
	 */
10
	public function __construct(
11
		private string $class = PriceCalculator::class
12
	) {
13
	}
14
15 1
	/**
16
	 * Create and return PriceCalculator instance.
17 1
	 */
18 1
	public function create(): IPriceCalculator
19
	{
20
		return new $this->class;
21
	}
22
23
	/**
24
	 * Get class name.
25 1
	 */
26
	public function getClass(): string
27
	{
28
		return $this->class;
29
	}
30
31
	/**
32
	 * Set class name.
33 1
	 */
34
	public function setClass(string $class): self
35
	{
36
		$this->class = $class;
37
		return $this;
38
	}
39
}
40