Move Exceptions in a separate directory + Fixed Range function

Signed-off-by: davidarendsen <davidarendsen@hey.com>
This commit is contained in:
davidarendsen 2022-08-12 12:58:29 +00:00
commit 648709bd19
9 changed files with 47 additions and 19 deletions

View file

@ -0,0 +1,7 @@
<?php
namespace Arendsen\FluxQueryBuilder\Exception;
use Exception;
class ExpressionNotImplementedException extends Exception {}

View file

@ -0,0 +1,7 @@
<?php
namespace Arendsen\FluxQueryBuilder\Exception;
use Exception;
class FunctionNotImplementedException extends Exception {}

View file

@ -0,0 +1,14 @@
<?php
namespace Arendsen\FluxQueryBuilder\Exception;
use Exception;
class FunctionRequiredSettingMissingException extends Exception {
public function __construct(string $functionName, string $message)
{
parent::__construct('Function ' . $functionName . ' - ' . $message);
}
}

View file

@ -2,6 +2,8 @@
namespace Arendsen\FluxQueryBuilder\Expression;
use Arendsen\FluxQueryBuilder\Exception\ExpressionNotImplementedException;
abstract class Base {
/**

View file

@ -1,7 +0,0 @@
<?php
namespace Arendsen\FluxQueryBuilder\Expression;
use Exception;
class ExpressionNotImplementedException extends Exception {}

View file

@ -3,6 +3,7 @@
namespace Arendsen\FluxQueryBuilder\Functions;
use Arendsen\FluxQueryBuilder\Formatters;
use Arendsen\FluxQueryBuilder\Function\FunctionNotImplementedException;
abstract class Base {

View file

@ -1,7 +0,0 @@
<?php
namespace Arendsen\FluxQueryBuilder\Functions;
use Exception;
class FunctionNotImplementedException extends Exception {}

View file

@ -2,7 +2,7 @@
namespace Arendsen\FluxQueryBuilder\Functions;
use Arendsen\FluxQueryBuilder\Formatters;
use Arendsen\FluxQueryBuilder\Exception\FunctionRequiredSettingMissingException;
class Range extends Base {
@ -18,7 +18,18 @@ class Range extends Base {
public function __toString()
{
return '|> range(' . Formatters::toFluxArrayString($this->settings) . ') ';
if(!isset($this->settings['start']))
{
throw new FunctionRequiredSettingMissingException('Range', 'Start setting is required!');
}
$settingsString = 'start: ' . $this->settings['start'];
if(isset($this->settings['stop']))
{
$settingsString .= ', stop: ' . $this->settings['stop'];
}
return '|> range(' . $settingsString . ') ';
}
}