diff options
Diffstat (limited to 'src/Helpers')
-rw-r--r-- | src/Helpers/Version.php | 42 | ||||
-rw-r--r-- | src/Helpers/VersionServiceProvider.php | 15 |
2 files changed, 57 insertions, 0 deletions
diff --git a/src/Helpers/Version.php b/src/Helpers/Version.php new file mode 100644 index 00000000..97fe6ef3 --- /dev/null +++ b/src/Helpers/Version.php @@ -0,0 +1,42 @@ +<?php + +namespace Engelsystem\Helpers; + +use Engelsystem\Config\Config; + +class Version +{ + /** @var Config */ + protected $config; + + /** @vat string */ + protected $storage; + + /** @var string */ + protected $versionFile = 'VERSION'; + + /** + * @param string $storage + * @param Config $config + */ + public function __construct(string $storage, Config $config) + { + $this->storage = $storage; + $this->config = $config; + } + + /** + * @return string + */ + public function getVersion() + { + $file = $this->storage . DIRECTORY_SEPARATOR . $this->versionFile; + + $version = 'n/a'; + if (file_exists($file)) { + $version = trim(file_get_contents($file)); + } + + return $this->config->get('version', $version); + } +} diff --git a/src/Helpers/VersionServiceProvider.php b/src/Helpers/VersionServiceProvider.php new file mode 100644 index 00000000..41e10158 --- /dev/null +++ b/src/Helpers/VersionServiceProvider.php @@ -0,0 +1,15 @@ +<?php + +namespace Engelsystem\Helpers; + +use Engelsystem\Container\ServiceProvider; + +class VersionServiceProvider extends ServiceProvider +{ + public function register() + { + $this->app->when(Version::class) + ->needs('$storage') + ->give($this->app->get('path.storage.app')); + } +} |