From cc6440ef89f5d3cf5e020f16392cd9bf36a20770 Mon Sep 17 00:00:00 2001 From: Simon Vieille Date: Sat, 21 Feb 2015 09:59:38 +0100 Subject: [PATCH] Helpers --- .../Console/Command/AbstractCommand.php | 11 ++++++ .../Command/Helper/ValidatorHelper.php | 39 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 src/Deblan/PowerDNS/Command/Helper/ValidatorHelper.php diff --git a/src/Deblan/Console/Command/AbstractCommand.php b/src/Deblan/Console/Command/AbstractCommand.php index d849d38..9a0b594 100644 --- a/src/Deblan/Console/Command/AbstractCommand.php +++ b/src/Deblan/Console/Command/AbstractCommand.php @@ -7,6 +7,7 @@ use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Input\InputInterface; use Deblan\PowerDNS\Command\Helper\ZoneHelper; use Deblan\PowerDNS\Command\Helper\DomainHelper; +use Deblan\PowerDNS\Command\Helper\ValidatorHelper; abstract class AbstractCommand extends Command { @@ -14,6 +15,8 @@ abstract class AbstractCommand extends Command protected $output; + protected $dialog; + public function getHelper($helper) { if ($helper === 'zone') { @@ -24,6 +27,14 @@ abstract class AbstractCommand extends Command return DomainHelper::getInstance($this->getInput(), $this->getOutput()); } + if ($helper === 'validator') { + return ValidatorHelper::getInstance($this->getInput(), $this->getOutput()); + } + + if ($helper === 'dialog') { + return $this->getHelperSet()->get('dialog'); + } + throw new \InvalidArgumentException(sprintf('Invalid helper "%s"', $helper)); } diff --git a/src/Deblan/PowerDNS/Command/Helper/ValidatorHelper.php b/src/Deblan/PowerDNS/Command/Helper/ValidatorHelper.php new file mode 100644 index 0000000..2e580d8 --- /dev/null +++ b/src/Deblan/PowerDNS/Command/Helper/ValidatorHelper.php @@ -0,0 +1,39 @@ +isDomainName($value); + } + + public function isDomainType($value) + { + return in_array($value, ['NATIVE', 'MASTER', 'SLAVE', 'SUPERSLAVE']); + } + + public static function getName() + { + return 'validator'; + } +}