From fce09a702a000461f124f79a4a20fb6060903a99 Mon Sep 17 00:00:00 2001 From: Aidan Woods Date: Fri, 25 Jan 2019 21:18:33 +0000 Subject: [PATCH] Put reused code in a trait so boolean configurables are easy to make --- src/Configurables/BooleanConfigurable.php | 35 +++++++++++++++++++++++ src/Configurables/SafeMode.php | 29 +------------------ src/Configurables/StrictMode.php | 29 +------------------ 3 files changed, 37 insertions(+), 56 deletions(-) create mode 100644 src/Configurables/BooleanConfigurable.php diff --git a/src/Configurables/BooleanConfigurable.php b/src/Configurables/BooleanConfigurable.php new file mode 100644 index 0000000..4311224 --- /dev/null +++ b/src/Configurables/BooleanConfigurable.php @@ -0,0 +1,35 @@ +enabled = $enabled; + } + + /** @return bool */ + public function isEnabled() + { + return $this->enabled; + } + + /** @return static */ + public static function enabled() + { + return new self(true); + } + + /** @return static */ + public static function initial() + { + return new self(false); + } +} diff --git a/src/Configurables/SafeMode.php b/src/Configurables/SafeMode.php index 0b022b1..1e837a9 100644 --- a/src/Configurables/SafeMode.php +++ b/src/Configurables/SafeMode.php @@ -6,32 +6,5 @@ use Erusev\Parsedown\Configurable; final class SafeMode implements Configurable { - /** @var bool */ - private $enabled = false; - - /** - * @param bool $enabled - */ - public function __construct($enabled) - { - $this->enabled = $enabled; - } - - /** @return bool */ - public function isEnabled() - { - return $this->enabled; - } - - /** @return self */ - public static function enabled() - { - return new self(true); - } - - /** @return self */ - public static function initial() - { - return new self(false); - } + use BooleanConfigurable; } diff --git a/src/Configurables/StrictMode.php b/src/Configurables/StrictMode.php index 8e4d0de..5a6843d 100644 --- a/src/Configurables/StrictMode.php +++ b/src/Configurables/StrictMode.php @@ -6,32 +6,5 @@ use Erusev\Parsedown\Configurable; final class StrictMode implements Configurable { - /** @var bool */ - private $enabled = false; - - /** - * @param bool $enabled - */ - public function __construct($enabled) - { - $this->enabled = $enabled; - } - - /** @return bool */ - public function isEnabled() - { - return $this->enabled; - } - - /** @return self */ - public static function enabled() - { - return new self(true); - } - - /** @return self */ - public static function initial() - { - return new self(false); - } + use BooleanConfigurable; }