From 42efc47796e3ca834c9b44b07a0492832ba975eb Mon Sep 17 00:00:00 2001 From: Gregory Oschwald Date: Fri, 12 Sep 2014 07:03:53 -0700 Subject: [PATCH] Remove deprecated web service methods --- CHANGELOG.md | 12 +++- README.md | 2 +- src/GeoIp2/WebService/Client.php | 70 --------------------- tests/GeoIp2/Test/WebService/ClientTest.php | 21 +++---- 4 files changed, 19 insertions(+), 86 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 32a81fb..899c6e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ CHANGELOG ========= +0.9.0 (2014-09-XX) +------------------ + +* IMPORTANT: The deprecated `omni()` and `cityIspOrg()` methods have been + removed from `GeoIp2\WebService\Client`. + 0.8.1 (2014-09-12) ------------------ @@ -11,8 +17,8 @@ CHANGELOG 0.8.0 (2014-09-10) ------------------ -* The `GeoIP2\Database\Reader` lookup methods (e.g., `city()`, `isp()`) now - throw an `BadMethodCallException` if they are used with a database that +* The `GeoIp2\Database\Reader` lookup methods (e.g., `city()`, `isp()`) now + throw a `BadMethodCallException` if they are used with a database that does not match the method. In particular, doing a `city()` lookup on a GeoIP2 Country database will result in an exception, and vice versa. * A `metadata()` method has been added to the `GeoIP2\Database\Reader` class. @@ -25,7 +31,7 @@ CHANGELOG * The web service client API has been updated for the v2.1 release of the web service. In particular, the `cityIspOrg` and `omni` methods on - `GeoIP2\WebService\Client` should be considered deprecated. The `city` + `GeoIp2\WebService\Client` should be considered deprecated. The `city` method now provides all of the data formerly provided by `cityIspOrg`, and the `omni` method has been replaced by the `insights` method. * Support was added for GeoIP2 Connection Type, Domain and ISP databases. diff --git a/README.md b/README.md index 2a02324..efbb9dd 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ You should now have the file `composer.phar` in your project directory. Run in your project root: ``` -php composer.phar require geoip2/geoip2:~0.8.1 +php composer.phar require geoip2/geoip2:~0.9.0 ``` You should now have the files `composer.json` and `composer.lock` as well as diff --git a/src/GeoIp2/WebService/Client.php b/src/GeoIp2/WebService/Client.php index 7b6bdc2..dfccc3b 100644 --- a/src/GeoIp2/WebService/Client.php +++ b/src/GeoIp2/WebService/Client.php @@ -111,40 +111,6 @@ class Client implements ProviderInterface return $this->responseFor('city', 'City', $ipAddress); } - /** - * This method calls the GeoIP2 Precision: City endpoint. - * - * @param string $ipAddress IPv4 or IPv6 address as a string. If no - * address is provided, the address that the web service is called - * from will be used. - * - * @return \GeoIp2\Model\City - * - * @throws \GeoIp2\Exception\AddressNotFoundException if the address you - * provided is not in our database (e.g., a private address). - * @throws \GeoIp2\Exception\AuthenticationException if there is a problem - * with the user ID or license key that you provided. - * @throws \GeoIp2\Exception\OutOfQueriesException if your account is out - * of queries. - * @throws \GeoIp2\Exception\InvalidRequestException} if your request was - * received by the web service but is invalid for some other reason. - * This may indicate an issue with this API. Please report the error to - * MaxMind. - * @throws \GeoIp2\Exception\HttpException if an unexpected HTTP error - * code or message was returned. This could indicate a problem with the - * connection between your server and the web service or that the web - * service returned an invalid document or 500 error code. - * @throws \GeoIp2\Exception\GeoIp2Exception This serves as the parent - * class to the above exceptions. It will be thrown directly if a 200 - * status code is returned but the body is invalid. - * - * @deprecated deprecated since version 0.7.0 - */ - public function cityIspOrg($ipAddress = 'me') - { - return $this->city($ipAddress); - } - /** * This method calls the GeoIP2 Precision: Country endpoint. * @@ -203,48 +169,12 @@ class Client implements ProviderInterface * @throws \GeoIp2\Exception\GeoIp2Exception This serves as the parent * class to the above exceptions. It will be thrown directly if a 200 * status code is returned but the body is invalid. - * - * @deprecated deprecated since version 0.7.0 */ public function insights($ipAddress = 'me') { return $this->responseFor('insights', 'Insights', $ipAddress); } - /** - * This method calls the GeoIP2 Precision: Insights (prev. Omni) endpoint. - * - * @param string $ipAddress IPv4 or IPv6 address as a string. If no - * address is provided, the address that the web service is called - * from will be used. - * - * @return \GeoIp2\Model\Insights - * - * @throws \GeoIp2\Exception\AddressNotFoundException if the address you - * provided is not in our database (e.g., a private address). - * @throws \GeoIp2\Exception\AuthenticationException if there is a problem - * with the user ID or license key that you provided. - * @throws \GeoIp2\Exception\OutOfQueriesException if your account is out - * of queries. - * @throws \GeoIp2\Exception\InvalidRequestException} if your request was - * received by the web service but is invalid for some other reason. - * This may indicate an issue with this API. Please report the error to - * MaxMind. - * @throws \GeoIp2\Exception\HttpException if an unexpected HTTP error - * code or message was returned. This could indicate a problem with the - * connection between your server and the web service or that the web - * service returned an invalid document or 500 error code. - * @throws \GeoIp2\Exception\GeoIp2Exception This serves as the parent - * class to the above exceptions. It will be thrown directly if a 200 - * status code is returned but the body is invalid. - * - * @deprecated deprecated since version 0.7.0 - */ - public function omni($ipAddress = 'me') - { - return $this->insights($ipAddress); - } - private function responseFor($endpoint, $class, $ipAddress) { $uri = implode('/', array($this->baseUri(), $endpoint, $ipAddress)); diff --git a/tests/GeoIp2/Test/WebService/ClientTest.php b/tests/GeoIp2/Test/WebService/ClientTest.php index ae0f1a2..9270da8 100644 --- a/tests/GeoIp2/Test/WebService/ClientTest.php +++ b/tests/GeoIp2/Test/WebService/ClientTest.php @@ -201,19 +201,16 @@ class ClientTest extends \PHPUnit_Framework_TestCase public function testInsights() { - $methods = array('omni', 'insights'); - foreach ($methods as $method) { - $record = $this->client($this->getResponse('1.2.3.4')) - ->$method('1.2.3.4'); + $record = $this->client($this->getResponse('1.2.3.4')) + ->insights('1.2.3.4'); - $this->assertInstanceOf('GeoIp2\Model\Insights', $record); + $this->assertInstanceOf('GeoIp2\Model\Insights', $record); - $this->assertEquals( - 42, - $record->continent->geonameId, - 'continent geoname_id is 42' - ); - } + $this->assertEquals( + 42, + $record->continent->geonameId, + 'continent geoname_id is 42' + ); } public function testCity() @@ -230,7 +227,7 @@ class ClientTest extends \PHPUnit_Framework_TestCase $this->assertInstanceOf( 'GeoIp2\Model\City', - $client->cityIspOrg('me'), + $client->city('me'), 'can set ip parameter to me' ); }