From 44cc51501d7f0edd77d9d541e922fd67df3e1c25 Mon Sep 17 00:00:00 2001 From: "Mohd. Saqueib Ansari" Date: Thu, 5 Sep 2019 22:13:24 +0800 Subject: [PATCH] Laravel 6 (#14) * laravel 6 support * cache clear on new badge generation --- .travis.yml | 2 +- CHANGELOG.md | 12 ++++++++++++ composer.json | 8 ++++---- src/BadgeType.php | 8 +++++--- src/Console/MakeBadgeCommand.php | 16 ++++++++++++++++ 5 files changed, 38 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index d46fd1d..befaf27 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,8 @@ language: php php: - - 7.1 - 7.2 + - 7.3 before_script: - travis_retry composer self-update diff --git a/CHANGELOG.md b/CHANGELOG.md index 80a12fa..45fd31a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,18 @@ All notable changes to `qcod/laravel-gamify` will be documented in this file +## 1.0.3 - 2019-09-05 + +- Laravel 6 support + +## 1.0.2 - 2019-03-17 + +- Added subject relation on a reputation + +## 1.0.1 - 2019-03-12 + +- Added Laravel 5.8 compatibility + ## 1.0.0 - 2018-11-29 - initial release diff --git a/composer.json b/composer.json index 8534305..f8196fd 100644 --- a/composer.json +++ b/composer.json @@ -22,13 +22,13 @@ } ], "require": { - "php": ">=7.1", - "laravel/framework": "~5.4.0|~5.5.0|~5.6.0|~5.7.0|~5.8.0" + "php": ">=7.2", + "laravel/framework": "~5.4.0|~5.5.0|~5.6.0|~5.7.0|~5.8.0|^6.0" }, "require-dev": { - "orchestra/testbench": "~3.8", + "orchestra/testbench": "~3.8|^4.0", "mockery/mockery": "^0.9.4 || ~1.0", - "phpunit/phpunit": "~7.0" + "phpunit/phpunit": "~8.0" }, "autoload": { "psr-4": { diff --git a/src/BadgeType.php b/src/BadgeType.php index 01a2676..9acd022 100644 --- a/src/BadgeType.php +++ b/src/BadgeType.php @@ -2,6 +2,8 @@ namespace QCod\Gamify; +use Illuminate\Support\Str; +use Illuminate\Support\Arr; use Illuminate\Database\Eloquent\Model; abstract class BadgeType @@ -78,7 +80,7 @@ public function getLevel() return $level; } - return array_get( + return Arr::get( config('gamify.badge_levels', []), $level, config('gamify.badge_default_level', 1) @@ -102,7 +104,7 @@ public function getBadgeId() */ protected function getDefaultBadgeName() { - return ucwords(snake_case(class_basename($this), ' ')); + return ucwords(Str::snake(class_basename($this), ' ')); } /** @@ -115,7 +117,7 @@ protected function getDefaultIcon() return sprintf( '%s/%s%s', rtrim(config('gamify.badge_icon_folder', 'images/badges'), '/'), - kebab_case(class_basename($this)), + Str::kebab(class_basename($this)), config('gamify.badge_icon_extension', '.svg') ); } diff --git a/src/Console/MakeBadgeCommand.php b/src/Console/MakeBadgeCommand.php index 54a605f..acaf740 100644 --- a/src/Console/MakeBadgeCommand.php +++ b/src/Console/MakeBadgeCommand.php @@ -48,4 +48,20 @@ protected function getDefaultNamespace($rootNamespace) { return $rootNamespace.'\Gamify\Badges'; } + + /** + * Execute the console command. + * + * @return bool|null + * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException + */ + public function handle() + { + // clear the cache for badges + cache()->forget('gamify.badges.all'); + + return parent::handle(); + } + + }