Completed
Pull Request — master (#168)
by Jeroen De
03:33 queued 45s
created

PrecisionParser   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 3
dl 0
loc 20
c 0
b 0
f 0
ccs 0
cts 9
cp 0
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A parse() 0 8 1
1
<?php
2
3
namespace DataValues\Geo\PackagePrivate;
4
5
use DataValues\Geo\Values\LatLongPrecision;
6
use ValueParsers\ValueParser;
7
8
class PrecisionParser {
9
10
	private $latLongParser;
11
	private $precisionDetector;
12
13
	public function __construct( ValueParser $latLongParser, PrecisionDetector $precisionDetector ) {
14
		$this->latLongParser = $latLongParser;
15
		$this->precisionDetector = $precisionDetector;
16
	}
17
18
	public function parse( string $coordinate ): LatLongPrecision {
19
		$latLong = $this->latLongParser->parse( $coordinate );
20
21
		return new LatLongPrecision(
22
			$latLong,
23
			$this->precisionDetector->detectPrecision( $latLong )
24
		);
25
	}
26
27
}
28