Skip to content

Commit

Permalink
Packaged/Helpers 1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
bajb committed Jun 15, 2015
1 parent 7e3eefb commit 761b9db
Show file tree
Hide file tree
Showing 13 changed files with 41 additions and 20 deletions.
2 changes: 1 addition & 1 deletion composer.json
Expand Up @@ -10,7 +10,7 @@
],
"require": {
"php": ">=5.6.0",
"packaged/helpers": "*"
"packaged/helpers": "~1.0"
},
"require-dev": {
"phpunit/phpunit": "4.1"
Expand Down
3 changes: 2 additions & 1 deletion src/Assembler/Segments/AbstractSegmentAssembler.php
@@ -1,6 +1,7 @@
<?php
namespace Packaged\QueryBuilder\Assembler\Segments;

use Packaged\Helpers\Objects;
use Packaged\Helpers\Strings;
use Packaged\QueryBuilder\Assembler\QueryAssembler;
use Packaged\QueryBuilder\Statement\IStatementSegment;
Expand Down Expand Up @@ -74,7 +75,7 @@ public function assemble()
"Unsupported segment '"
. get_class($this->_segment)
. "' passed to the " .
ucwords(Strings::humanize(class_shortname(get_called_class())))
ucwords(Strings::humanize(Objects::classShortname(get_called_class())))
);
}

Expand Down
10 changes: 7 additions & 3 deletions src/Assembler/Segments/ClauseAssembler.php
@@ -1,6 +1,8 @@
<?php
namespace Packaged\QueryBuilder\Assembler\Segments;

use Packaged\Helpers\Arrays;
use Packaged\Helpers\Strings;
use Packaged\QueryBuilder\Clause\AbstractFieldClause;
use Packaged\QueryBuilder\Clause\AbstractPredicateClause;
use Packaged\QueryBuilder\Clause\AbstractTableClause;
Expand Down Expand Up @@ -161,13 +163,15 @@ public function assemblePredicateClause(AbstractPredicateClause $clause)
}

if(count($clause->getPredicates()) === 1
&& head($clause->getPredicates()) instanceof PredicateSet
&& Arrays::first($clause->getPredicates()) instanceof PredicateSet
)
{
$assembled = $this->getAssembler()->assembleSegment(
head($clause->getPredicates())
Arrays::first($clause->getPredicates())
);
if(starts_with($assembled, '(') && ends_with($assembled, ')'))
if(Strings::startsWith($assembled, '(')
&& Strings::endsWith($assembled, ')')
)
{
$assembled = substr($assembled, 1, -1);
}
Expand Down
3 changes: 2 additions & 1 deletion src/Builder/Traits/OrderByTrait.php
@@ -1,6 +1,7 @@
<?php
namespace Packaged\QueryBuilder\Builder\Traits;

use Packaged\Helpers\Strings;
use Packaged\QueryBuilder\Clause\OrderByClause;
use Packaged\QueryBuilder\Statement\IStatement;

Expand All @@ -17,7 +18,7 @@ public function orderBy($fields)
{
foreach($fields as $field => $order)
{
if(contains_any($order, ['asc', 'desc'], false))
if(Strings::containsAny($order, ['asc', 'desc'], false))
{
$orderClause->addField($field, $order);
}
Expand Down
9 changes: 5 additions & 4 deletions src/Builder/Traits/WhereTrait.php
@@ -1,6 +1,7 @@
<?php
namespace Packaged\QueryBuilder\Builder\Traits;

use Packaged\Helpers\Arrays;
use Packaged\QueryBuilder\Clause\WhereClause;
use Packaged\QueryBuilder\Predicate\OrPredicateSet;
use Packaged\QueryBuilder\Predicate\PredicateSet;
Expand All @@ -21,7 +22,7 @@ public function where(...$expressions)
public function andWhere(...$expressions)
{
$currentSet = $this->_getCurrentSet();
$newSet = $this->_getNewSet($expressions);
$newSet = $this->_getNewSet($expressions);

$finalSet = new PredicateSet();
$finalSet->addPredicate($currentSet);
Expand All @@ -41,7 +42,7 @@ public function andWhere(...$expressions)
public function orWhere(...$expressions)
{
$currentSet = $this->_getCurrentSet();
$newSet = $this->_getNewSet($expressions);
$newSet = $this->_getNewSet($expressions);

$finalSet = new OrPredicateSet();
$finalSet->addPredicate($currentSet);
Expand Down Expand Up @@ -74,7 +75,7 @@ private function _getCurrentSet()

if(count($where->getPredicates()) === 1)
{
$currentSet = head($where->getPredicates());
$currentSet = Arrays::first($where->getPredicates());
}
else
{
Expand All @@ -90,7 +91,7 @@ private function _getNewSet(...$expressions)
$newPredicates = WhereClause::buildPredicates($expressions);
if(count($newPredicates) === 1)
{
$newSet = head($newPredicates);
$newSet = Arrays::first($newPredicates);
}
else
{
Expand Down
3 changes: 2 additions & 1 deletion src/Clause/AbstractPredicateClause.php
@@ -1,6 +1,7 @@
<?php
namespace Packaged\QueryBuilder\Clause;

use Packaged\Helpers\Arrays;
use Packaged\QueryBuilder\Predicate\IPredicate;

abstract class AbstractPredicateClause implements IClause
Expand All @@ -14,7 +15,7 @@ public function addPredicate(IPredicate $predicate)

public function setPredicates(array $predicates)
{
$this->_predicates = assert_instances_of(
$this->_predicates = Arrays::instancesOf(
$predicates,
'\Packaged\QueryBuilder\Predicate\IPredicate'
);
Expand Down
3 changes: 2 additions & 1 deletion src/Clause/InsertClause.php
@@ -1,6 +1,7 @@
<?php
namespace Packaged\QueryBuilder\Clause;

use Packaged\Helpers\Arrays;
use Packaged\QueryBuilder\Expression\FieldExpression;

class InsertClause extends AbstractTableClause
Expand All @@ -15,7 +16,7 @@ public function addField(FieldExpression $field)

public function setFields(array $fields)
{
$this->_fields = assert_instances_of(
$this->_fields = Arrays::instancesOf(
$fields,
'\Packaged\QueryBuilder\Expression\FieldExpression'
);
Expand Down
8 changes: 7 additions & 1 deletion src/Clause/OrderByClause.php
@@ -1,6 +1,8 @@
<?php
namespace Packaged\QueryBuilder\Clause;

use Packaged\Helpers\Arrays;

class OrderByClause extends AbstractFieldClause
{
protected $_order;
Expand All @@ -27,6 +29,10 @@ public function clearFields()

public function getOrder($field, $default = 'ASC')
{
return idx($this->_order, array_search($field, $this->_fields), $default);
return Arrays::value(
$this->_order,
array_search($field, $this->_fields),
$default
);
}
}
3 changes: 2 additions & 1 deletion src/Clause/SelectClause.php
@@ -1,6 +1,7 @@
<?php
namespace Packaged\QueryBuilder\Clause;

use Packaged\Helpers\Arrays;
use Packaged\QueryBuilder\SelectExpression\ConcatSelectExpression;
use Packaged\QueryBuilder\SelectExpression\FieldSelectExpression;
use Packaged\QueryBuilder\SelectExpression\ISelectExpression;
Expand Down Expand Up @@ -29,7 +30,7 @@ public function addExpression(ISelectExpression $expression)

public function setExpressions(array $expressions)
{
$this->_expressions = assert_instances_of(
$this->_expressions = Arrays::instancesOf(
$expressions,
'\Packaged\QueryBuilder\SelectExpression\ISelectExpression'
);
Expand Down
3 changes: 2 additions & 1 deletion src/Clause/ValuesClause.php
@@ -1,6 +1,7 @@
<?php
namespace Packaged\QueryBuilder\Clause;

use Packaged\Helpers\Arrays;
use Packaged\QueryBuilder\Expression\IExpression;

class ValuesClause implements IClause
Expand All @@ -15,7 +16,7 @@ public function addExpression(IExpression $expression)

public function setExpressions(array $expressions)
{
$this->_expressions = assert_instances_of(
$this->_expressions = Arrays::instancesOf(
$expressions,
'\Packaged\QueryBuilder\Expression\IExpression'
);
Expand Down
4 changes: 3 additions & 1 deletion src/Predicate/PredicateSet.php
@@ -1,6 +1,8 @@
<?php
namespace Packaged\QueryBuilder\Predicate;

use Packaged\Helpers\Arrays;

class PredicateSet implements IPredicate
{
protected $_predicates = [];
Expand All @@ -12,7 +14,7 @@ public function addPredicate(IPredicate $predicate)

public function setPredicates(array $predicates)
{
$this->_predicates = assert_instances_of(
$this->_predicates = Arrays::instancesOf(
$predicates,
'\Packaged\QueryBuilder\Predicate\IPredicate'
);
Expand Down
7 changes: 4 additions & 3 deletions src/SelectExpression/ConcatSelectExpression.php
@@ -1,12 +1,13 @@
<?php
namespace Packaged\QueryBuilder\SelectExpression;

use Packaged\Helpers\Strings;
use Packaged\QueryBuilder\Expression\FieldExpression;
use Packaged\QueryBuilder\SelectExpression\Traits\AliasTrait;

/**
* Fields to concat together should be specified individually into the contructor
* and strings should be quoted before pushing through
* Fields to concat together should be specified individually into the
* contructor and strings should be quoted before pushing through
*/
class ConcatSelectExpression implements ISelectExpression
{
Expand All @@ -24,7 +25,7 @@ public function setPropertyArray($properties)
$this->_properties = [];
foreach($properties as $property)
{
if(contains_any($property, ['"', "'", ')']))
if(Strings::containsAny($property, ['"', "'", ')']))
{
$this->_properties[] = $property;
}
Expand Down
3 changes: 2 additions & 1 deletion tests/Builder/Traits/GroupByTraitTest.php
@@ -1,6 +1,7 @@
<?php
namespace Packaged\Tests\QueryBuilder\Builder\Traits;

use Packaged\Helpers\Arrays;
use Packaged\QueryBuilder\Builder\Traits\GroupByTrait;
use Packaged\QueryBuilder\Clause\GroupByClause;
use Packaged\QueryBuilder\Statement\AbstractStatement;
Expand Down Expand Up @@ -40,7 +41,7 @@ public function testCreate()

protected function _verifyClause(GroupByClause $clause, $fields)
{
$fields = array_fuse($fields);
$fields = Arrays::fuse($fields);
foreach($clause->getFields() as $field)
{
unset($fields[$field->getField()]);
Expand Down

0 comments on commit 761b9db

Please sign in to comment.