From 3a7e9e5fe33b6a316c898ce8ecc92fa69559876c Mon Sep 17 00:00:00 2001 From: Sean Pinegar Date: Tue, 17 Sep 2013 15:58:22 +0000 Subject: [PATCH 1/5] Create config, update composer.json for resting, update service provider for dynamic provider --- composer.json | 2 +- config/config.php | 4 ++++ src/Toin0u/Geocoder/GeocoderServiceProvider.php | 6 ++++-- 3 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 config/config.php diff --git a/composer.json b/composer.json index 14aa8db..6f7647c 100644 --- a/composer.json +++ b/composer.json @@ -1,5 +1,5 @@ { - "name" : "toin0u/geocoder-laravel", + "name" : "spinegar/geocoder-laravel", "description" : "Geocoder Service provider for Laravel 4", "keywords" : ["laravel", "geocoder", "geocoding"], "homepage" : "http://geocoder-php.org/", diff --git a/config/config.php b/config/config.php new file mode 100644 index 0000000..befb66b --- /dev/null +++ b/config/config.php @@ -0,0 +1,4 @@ + 'FreeGeoIpProvider' +); diff --git a/src/Toin0u/Geocoder/GeocoderServiceProvider.php b/src/Toin0u/Geocoder/GeocoderServiceProvider.php index 64dd0b2..c30e316 100644 --- a/src/Toin0u/Geocoder/GeocoderServiceProvider.php +++ b/src/Toin0u/Geocoder/GeocoderServiceProvider.php @@ -12,7 +12,6 @@ namespace Toin0u\Geocoder; use Geocoder\Geocoder; -use Geocoder\Provider\FreeGeoIpProvider; use Geocoder\HttpAdapter\CurlHttpAdapter; use Illuminate\Support\ServiceProvider; @@ -53,7 +52,10 @@ public function register() }); $this->app['geocoder.provider'] = $this->app->share(function($app) { - return new FreeGeoIpProvider($app['geocoder.adapter']); + //return new FreeGeoIpProvider($app['geocoder.adapter']); + $definition = Config.get('geocoder.provider'); + $class = '\\Geocoder\\Provider\\' . $definition; + return new $class($app['geocoder.adapter']); }); $this->app['geocoder'] = $this->app->share(function($app) { From f6bc6b28482b36364686ea8955dab0dd873c47ba Mon Sep 17 00:00:00 2001 From: Sean Pinegar Date: Tue, 17 Sep 2013 16:02:57 +0000 Subject: [PATCH 2/5] move config to correct location --- {config => src/config}/config.php | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {config => src/config}/config.php (100%) diff --git a/config/config.php b/src/config/config.php similarity index 100% rename from config/config.php rename to src/config/config.php From e88a41746e65819b647ceca39f1d6fe1b50aef0a Mon Sep 17 00:00:00 2001 From: Sean Pinegar Date: Tue, 17 Sep 2013 16:49:38 +0000 Subject: [PATCH 3/5] Update servive provider, config, and composer.json (end testing) --- composer.json | 2 +- src/Toin0u/Geocoder/GeocoderServiceProvider.php | 12 ++++++------ src/config/config.php | 8 +++++--- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/composer.json b/composer.json index 6f7647c..14aa8db 100644 --- a/composer.json +++ b/composer.json @@ -1,5 +1,5 @@ { - "name" : "spinegar/geocoder-laravel", + "name" : "toin0u/geocoder-laravel", "description" : "Geocoder Service provider for Laravel 4", "keywords" : ["laravel", "geocoder", "geocoding"], "homepage" : "http://geocoder-php.org/", diff --git a/src/Toin0u/Geocoder/GeocoderServiceProvider.php b/src/Toin0u/Geocoder/GeocoderServiceProvider.php index c30e316..69222c6 100644 --- a/src/Toin0u/Geocoder/GeocoderServiceProvider.php +++ b/src/Toin0u/Geocoder/GeocoderServiceProvider.php @@ -12,7 +12,6 @@ namespace Toin0u\Geocoder; use Geocoder\Geocoder; -use Geocoder\HttpAdapter\CurlHttpAdapter; use Illuminate\Support\ServiceProvider; /** @@ -35,7 +34,7 @@ class GeocoderServiceProvider extends ServiceProvider * @return void */ public function boot() { - $this->package('willdurand/geocoder'); + $this->package('toin0u/geocoder-laravel'); } /** @@ -48,13 +47,14 @@ public function register() $app = $this->app; $this->app['geocoder.adapter'] = $this->app->share(function() { - return new CurlHttpAdapter; + $adapter = \Config::get('geocoder-laravel::adapter'); + $class = 'Geocoder\HttpAdapter\\' . $adapter; + return new $class; }); $this->app['geocoder.provider'] = $this->app->share(function($app) { - //return new FreeGeoIpProvider($app['geocoder.adapter']); - $definition = Config.get('geocoder.provider'); - $class = '\\Geocoder\\Provider\\' . $definition; + $provider = \Config::get('geocoder-laravel::provider'); + $class = '\Geocoder\Provider\\' . $provider; return new $class($app['geocoder.adapter']); }); diff --git a/src/config/config.php b/src/config/config.php index befb66b..30b16a1 100644 --- a/src/config/config.php +++ b/src/config/config.php @@ -1,4 +1,6 @@ 'FreeGeoIpProvider' -); + +return array( + 'provider' => 'GoogleMapsProvider', + 'adapter' => 'CurlHttpAdapter' +); \ No newline at end of file From d8942b89f0b36e7f59be5df90b9ee34083021cda Mon Sep 17 00:00:00 2001 From: Sean Pinegar Date: Tue, 17 Sep 2013 11:51:03 -0500 Subject: [PATCH 4/5] Update README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 4033cd7..e1fb912 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,10 @@ Find the `aliases` key in `app/config/app.php` and register the **Geocoder Facad Configuration ------------- +Publish the configuration + + $ php artisan config:publish toin0u\geocoder-laravel + The service provider creates the following services: * `geocoder`: the Geocoder instance. From 0355c5b1137ac27f4db27f15023fb3c487b9bb2f Mon Sep 17 00:00:00 2001 From: Sean Pinegar Date: Tue, 17 Sep 2013 11:51:52 -0500 Subject: [PATCH 5/5] Update config.php --- src/config/config.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/config/config.php b/src/config/config.php index 30b16a1..fdf8473 100644 --- a/src/config/config.php +++ b/src/config/config.php @@ -1,6 +1,6 @@ 'GoogleMapsProvider', + 'provider' => 'FreeGeoIpProvider', 'adapter' => 'CurlHttpAdapter' -); \ No newline at end of file +);