From 0451788a595d5586a2bacefdd452df3f450714b2 Mon Sep 17 00:00:00 2001 From: Thomas P Date: Mon, 4 Oct 2021 22:26:35 +0200 Subject: [PATCH] Add latitude & longitude properties --- src/IpDetails.php | 16 ++++++++++++++++ tests/DbIpClientTest.php | 4 ++++ 2 files changed, 20 insertions(+) diff --git a/src/IpDetails.php b/src/IpDetails.php index 279e0a6..b617c99 100644 --- a/src/IpDetails.php +++ b/src/IpDetails.php @@ -15,6 +15,8 @@ private function __construct( private bool $isEuMember, private string $stateProv, private string $city, + private float $latitude, + private float $longitude, private string $threatLevel, private bool $isProxy, private bool $isCrawler, @@ -32,6 +34,8 @@ private function __construct( * ?isEuMember: bool, * ?stateProv: string, * ?city: string, + * ?latitude: float, + * ?longitude: float, * ?threatLevel: string, * ?isProxy: string, * ?isCrawler: bool, @@ -49,6 +53,8 @@ public static function new(array $data): self $data['isEuMember'] ?? false, $data['stateProv'] ?? '', $data['city'] ?? '', + $data['latitude'] ?? 0.0, + $data['longitude'] ?? 0.0, $data['threatLevel'] ?? '', $data['isProxy'] ?? false, $data['isCrawler'] ?? false, @@ -96,6 +102,16 @@ public function getCity(): string return $this->city; } + public function getLatitude(): float + { + return $this->latitude; + } + + public function getLongitude(): float + { + return $this->longitude; + } + public function getThreatLevel(): string { return $this->threatLevel; diff --git a/tests/DbIpClientTest.php b/tests/DbIpClientTest.php index 2536203..82027f7 100644 --- a/tests/DbIpClientTest.php +++ b/tests/DbIpClientTest.php @@ -57,6 +57,10 @@ public function testFullDetail(): void self::assertEquals('États-Unis', $ipDetails->getCountryName()); self::assertEquals('Caroline du Sud', $ipDetails->getStateProv()); self::assertEquals('North Charleston', $ipDetails->getCity()); + + self::assertEquals(32.905, $ipDetails->getLatitude()); + self::assertEquals(-79.9611, $ipDetails->getLongitude()); + self::assertEquals('low', $ipDetails->getThreatLevel()); self::assertEquals('AT&T Services', $ipDetails->getIsp()); self::assertEquals(false, $ipDetails->isProxy());