diff --git a/app/Facades/Mailgun.php b/app/Facades/Mailgun.php new file mode 100644 --- /dev/null +++ b/app/Facades/Mailgun.php @@ -0,0 +1,21 @@ +app->singleton('mailgun', function (Application $app) { + $config = $app->make('config'); + $key = $config->get('services.mailgun.secret'); + + return new MailgunMessageFactory(new Client, $key); + }); + } +} diff --git a/composer.json b/composer.json --- a/composer.json +++ b/composer.json @@ -12,8 +12,10 @@ "require": { "php": ">=5.6.0", "laravel/framework": "5.2.*", + "guzzlehttp/guzzle": "^6.2", "keruald/github": "^0.2.0", "keruald/broker": "^0.4.1", + "keruald/mailgun": "^0.0.1", "netresearch/jsonmapper": "~0.1.0", "sentry/sentry": "^0.13.0" }, diff --git a/config/app.php b/config/app.php --- a/config/app.php +++ b/config/app.php @@ -172,6 +172,7 @@ Nasqueron\Notifications\Providers\AppServiceProvider::class, Nasqueron\Notifications\Providers\BrokerServiceProvider::class, Nasqueron\Notifications\Providers\EventServiceProvider::class, + Nasqueron\Notifications\Providers\MailgunServiceProvider::class, Nasqueron\Notifications\Providers\PhabricatorAPIServiceProvider::class, Nasqueron\Notifications\Providers\PhabricatorProjectsMapServiceProvider::class, Nasqueron\Notifications\Providers\ReportServiceProvider::class, @@ -251,6 +252,7 @@ * App aliases... */ 'Broker' => Nasqueron\Notifications\Facades\Broker::class, + 'Mailgun' => Nasqueron\Notifications\Facades\Mailgun::class, 'PhabricatorAPI' => Nasqueron\Notifications\Facades\PhabricatorAPI::class, 'ProjectsMap' => Nasqueron\Notifications\Facades\ProjectsMap::class, 'Raven' => Nasqueron\Notifications\Facades\Raven::class, diff --git a/tests/Facades/MailgunTest.php b/tests/Facades/MailgunTest.php new file mode 100644 --- /dev/null +++ b/tests/Facades/MailgunTest.php @@ -0,0 +1,21 @@ +assertInstanceOf( + MailgunMessageFactory::class, + Mailgun::getFacadeRoot() + ); + } + +} diff --git a/tests/Providers/MailgunServiceProviderTest.php b/tests/Providers/MailgunServiceProviderTest.php new file mode 100644 --- /dev/null +++ b/tests/Providers/MailgunServiceProviderTest.php @@ -0,0 +1,14 @@ +assertServiceInstanceOf( + 'Keruald\Mailgun\MailgunMessageFactory', + 'mailgun' + ); + } + +}