Permalink
Browse files

initial

  • Loading branch information...
0 parents commit ba2bd5e239d0f2f84b7ad244208116349fa17e6d @themsaid themsaid committed Aug 11, 2016
@@ -0,0 +1,15 @@
+; This file is for unifying the coding style for different editors and IDEs.
+; More information at http://editorconfig.org
+
+root = true
+
+[*]
+charset = utf-8
+indent_size = 4
+indent_style = space
+end_of_line = lf
+insert_final_newline = true
+trim_trailing_whitespace = true
+
+[*.md]
+trim_trailing_whitespace = false
@@ -0,0 +1,10 @@
+# Path-based git attributes
+# https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html
+
+# Ignore all test and documentation with "export-ignore".
+/.gitattributes export-ignore
+/.gitignore export-ignore
+/.travis.yml export-ignore
+/phpunit.xml.dist export-ignore
+/.scrutinizer.yml export-ignore
+/tests export-ignore
@@ -0,0 +1,4 @@
+/vendor
+build
+composer.phar
+composer.lock
@@ -0,0 +1,19 @@
+filter:
+ excluded_paths: [tests/*]
+
+checks:
+ php:
+ remove_extra_empty_lines: true
+ remove_php_closing_tag: true
+ remove_trailing_whitespace: true
+ fix_use_statements:
+ remove_unused: true
+ preserve_multiple: false
+ preserve_blanklines: true
+ order_alphabetically: true
+ fix_php_opening_tag: true
+ fix_linefeed: true
+ fix_line_ending: true
+ fix_identation_4spaces: true
+ fix_doc_comments: true
+
@@ -0,0 +1,20 @@
+language: php
+
+php:
+ - 5.6
+ - 7.0
+
+env:
+ matrix:
+ - COMPOSER_FLAGS="--prefer-lowest"
+ - COMPOSER_FLAGS=""
+
+before_script:
+ - travis_retry composer self-update
+ - travis_retry composer update ${COMPOSER_FLAGS} --no-interaction --prefer-source
+
+script:
+ - phpunit --coverage-text --coverage-clover=coverage.clover
+
+after_script:
+ - php vendor/bin/ocular code-coverage:upload --format=php-clover coverage.clover
@@ -0,0 +1 @@
+# Changelog
@@ -0,0 +1,55 @@
+# Contributing
+
+Contributions are **welcome** and will be fully **credited**.
+
+Please read and understand the contribution guide before creating an issue or pull request.
+
+## Etiquette
+
+This project is open source, and as such, the maintainers give their free time to build and maintain the source code
+held within. They make the code freely available in the hope that it will be of use to other developers. It would be
+extremely unfair for them to suffer abuse or anger for their hard work.
+
+Please be considerate towards maintainers when raising issues or presenting pull requests. Let's show the
+world that developers are civilized and selfless people.
+
+It's the duty of the maintainer to ensure that all submissions to the project are of sufficient
+quality to benefit the project. Many developers have different skillsets, strengths, and weaknesses. Respect the maintainer's decision, and do not be upset or abusive if your submission is not used.
+
+## Viability
+
+When requesting or submitting new features, first consider whether it might be useful to others. Open
+source projects are used by many developers, who may have entirely different needs to your own. Think about
+whether or not your feature is likely to be used by other users of the project.
+
+## Procedure
+
+Before filing an issue:
+
+- Attempt to replicate the problem, to ensure that it wasn't a coincidental incident.
+- Check to make sure your feature suggestion isn't already present within the project.
+- Check the pull requests tab to ensure that the bug doesn't have a fix in progress.
+- Check the pull requests tab to ensure that the feature isn't already in progress.
+
+Before submitting a pull request:
+
+- Check the codebase to ensure that your feature doesn't already exist.
+- Check the pull requests to ensure that another person hasn't already submitted the feature or fix.
+
+## Requirements
+
+If the project maintainer has any additional requirements, you will find them listed here.
+
+- **[PSR-2 Coding Standard](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md)** - The easiest way to apply the conventions is to install [PHP Code Sniffer](http://pear.php.net/package/PHP_CodeSniffer).
+
+- **Add tests!** - Your patch won't be accepted if it doesn't have tests.
+
+- **Document any change in behaviour** - Make sure the `README.md` and any other relevant documentation are kept up-to-date.
+
+- **Consider our release cycle** - We try to follow [SemVer v2.0.0](http://semver.org/). Randomly breaking public APIs is not an option.
+
+- **One pull request per feature** - If you want to do more than one thing, send multiple pull requests.
+
+- **Send coherent history** - Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please [squash them](http://www.git-scm.com/book/en/v2/Git-Tools-Rewriting-History#Changing-Multiple-Commit-Messages) before submitting.
+
+**Happy coding**!
@@ -0,0 +1,21 @@
+# The MIT License (MIT)
+
+Copyright (c) :author_name <:author_email>
+
+> Permission is hereby granted, free of charge, to any person obtaining a copy
+> of this software and associated documentation files (the "Software"), to deal
+> in the Software without restriction, including without limitation the rights
+> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+> copies of the Software, and to permit persons to whom the Software is
+> furnished to do so, subject to the following conditions:
+>
+> The above copyright notice and this permission notice shall be included in
+> all copies or substantial portions of the Software.
+>
+> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+> THE SOFTWARE.
@@ -0,0 +1,20 @@
+# A Boilerplate repo for contributions
+
+Note: Replace :author_name :author_username :author_website :author_email :package_name :package_description with their correct values in README.md, CHANGELOG.md, CONTRIBUTING.md, LICENSE.md and composer.json files, then delete this line.
+
+This is where your description should go. Try and limit it to a paragraph or two, and maybe throw in a mention of what PSRs you support to avoid any confusion with users and contributors.
+
+## Installation
+
+Please also include the steps for any third-party service setup that's required for this package.
+
+## Usage
+
+## Credits
+
+- [:author_name](https://github.com/:author_username)
+- [All Contributors](../../contributors)
+
+## License
+
+The MIT License (MIT). Please see [License File](LICENSE.md) for more information.
@@ -0,0 +1,32 @@
+{
+ "name": "laravel-notification-channels/skeleton",
+ "description": "A boilerplate for contributions.",
+ "homepage": "https://github.com/laravel-notification-channels/skeleton",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": ":author_name",
+ "email": ":author_email",
+ "homepage": ":author_url",
+ "role": "Developer"
+ }
+ ],
+ "require": {
+ "php": ">=5.6.4",
+ "illuminate/notifications": "^5.3@dev",
+ "illuminate/support": "^5.3@dev",
+ "illuminate/events": "^5.3@dev"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "5.*"
+ },
+ "autoload": {
+ "psr-4": {
+ "NotificationChannels\\CHANNEL_NAMESPACE\\": "src"
+ }
+ },
+ "config": {
+ "sort-packages": true
+ },
+ "minimum-stability": "dev"
+}
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<phpunit bootstrap="vendor/autoload.php"
+ backupGlobals="false"
+ backupStaticAttributes="false"
+ colors="true"
+ verbose="true"
+ convertErrorsToExceptions="true"
+ convertNoticesToExceptions="true"
+ convertWarningsToExceptions="true"
+ processIsolation="false"
+ stopOnFailure="false">
+ <testsuites>
+ <testsuite name="Spatie Test Suite">
+ <directory>tests</directory>
+ </testsuite>
+ </testsuites>
+ <filter>
+ <whitelist>
+ <directory suffix=".php">src/</directory>
+ </whitelist>
+ </filter>
+ <logging>
+ <log type="tap" target="build/report.tap"/>
+ <log type="junit" target="build/report.junit.xml"/>
+ <log type="coverage-html" target="build/coverage" charset="UTF-8" yui="true" highlight="true"/>
+ <log type="coverage-text" target="build/coverage.txt"/>
+ <log type="coverage-clover" target="build/logs/clover.xml"/>
+ </logging>
+</phpunit>
@@ -0,0 +1,40 @@
+<?php
+
+namespace NotificationChannels\CHANNEL_NAMESPACE;
+
+use NotificationChannels\CHANNEL_NAMESPACE\Exceptions\CouldNotSendNotification;
+use NotificationChannels\CHANNEL_NAMESPACE\Events\MessageWasSent;
+use NotificationChannels\CHANNEL_NAMESPACE\Events\SendingMessage;
+use Illuminate\Notifications\Notification;
+
+class Channel
+{
+ public function __construct()
+ {
+ // Initialisation code here
+ }
+
+ /**
+ * Send the given notification.
+ *
+ * @param mixed $notifiable
+ * @param \Illuminate\Notifications\Notification $notification
+ *
+ * @return void
+ * @throws \NotificationChannels\CHANNEL_NAMESPACE\Exceptions\CouldNotSendNotification
+ */
+ public function send($notifiable, Notification $notification)
+ {
+ $shouldSendMessage = event(new SendingMessage($notifiable, $notification), [], true) !== false;
+
+ if (! $shouldSendMessage) {
+ return;
+ }
+
+// if (error) {
+// throw CouldNotSendNotification::serviceRespondedWithAnError($response);
+// }
+
+ event(new MessageWasSent($notifiable, $notification));
+ }
+}
@@ -0,0 +1,31 @@
+<?php
+
+namespace NotificationChannels\CHANNEL_NAMESPACE\Events;
+
+use Illuminate\Notifications\Notification;
+
+class MessageWasSent
+{
+ /**
+ * @var
+ */
+ protected $notifiable;
+
+ /**
+ * @var \Illuminate\Notifications\Notification
+ */
+ protected $notification;
+
+ /**
+ * MessageSending constructor.
+ *
+ * @param $notifiable
+ * @param \Illuminate\Notifications\Notification $notification
+ */
+ public function __construct($notifiable, Notification $notification)
+ {
+ $this->notifiable = $notifiable;
+
+ $this->notification = $notification;
+ }
+}
@@ -0,0 +1,29 @@
+<?php
+
+namespace NotificationChannels\CHANNEL_NAMESPACE\Events;
+
+use Illuminate\Notifications\Notification;
+
+class SendingMessage
+{
+ /**
+ * @var
+ */
+ protected $notifiable;
+
+ /**
+ * @var \Illuminate\Notifications\Notification
+ */
+ protected $notification;
+
+ /**
+ * @param $notifiable
+ * @param \Illuminate\Notifications\Notification $notification
+ */
+ public function __construct($notifiable, Notification $notification)
+ {
+ $this->notifiable = $notifiable;
+
+ $this->notification = $notification;
+ }
+}
@@ -0,0 +1,11 @@
+<?php
+
+namespace NotificationChannels\CHANNEL_NAMESPACE\Exceptions;
+
+class CouldNotSendNotification extends \Exception
+{
+ public static function serviceRespondedWithAnError(array $response)
+ {
+ return new static("Descriptive error message.");
+ }
+}
@@ -0,0 +1,10 @@
+<?php
+
+namespace NotificationChannels\CHANNEL_NAMESPACE;
+
+use Illuminate\Support\Arr;
+
+class Message
+{
+ // Message structure here
+}
@@ -0,0 +1,24 @@
+<?php
+
+namespace NotificationChannels\CHANNEL_NAMESPACE;
+
+use Illuminate\Support\ServiceProvider;
+use Pusher;
+
+class Provider extends ServiceProvider
+{
+ /**
+ * Bootstrap the application services.
+ */
+ public function boot()
+ {
+ // Bootstrap code here.
+ }
+
+ /**
+ * Register the application services.
+ */
+ public function register()
+ {
+ }
+}
Oops, something went wrong.

0 comments on commit ba2bd5e

Please sign in to comment.