Finesse/QueryScribe

View on GitHub

Showing 36 of 44 total issues

File CommonGrammar.php has 303 lines of code (exceeds 250 allowed). Consider refactoring.
Open

<?php
 
namespace Finesse\QueryScribe\Grammars;
 
use Finesse\QueryScribe\Exceptions\InvalidQueryException;
Severity: Minor
Found in src/Grammars/CommonGrammar.php - About 3 hrs to fix

    CommonGrammar has 25 functions (exceeds 20 allowed). Consider refactoring.
    Open

    class CommonGrammar implements GrammarInterface
    {
    use CommonGrammarCriteriaTrait;
    use CommonGrammarOrderTrait;
     
     
    Severity: Minor
    Found in src/Grammars/CommonGrammar.php - About 2 hrs to fix

      Method whereArgumentsToCriterion has 47 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

      protected function whereArgumentsToCriterion(
      array $arguments,
      string $appendRule = 'AND',
      bool $valueIsColumn = false
      ): Criterion {
      Severity: Minor
      Found in src/QueryBricks/WhereTrait.php - About 1 hr to fix

        Function compileInsertFromValues has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
        Open

        protected function compileInsertFromValues($table, string $tableAlias = null, array $values): array
        {
        if (empty($values)) {
        return [];
        }
        Severity: Minor
        Found in src/Grammars/CommonGrammar.php - About 1 hr to fix

        Function processQuery has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
        Open

        protected function processQuery(Query $query, $context): Query
        {
        $queryProperties = [];
         
        // Table
        Severity: Minor
        Found in src/PostProcessors/AbstractProcessor.php - About 1 hr to fix

        Method processQuery has 39 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

        protected function processQuery(Query $query, $context): Query
        {
        $queryProperties = [];
         
        // Table
        Severity: Minor
        Found in src/PostProcessors/AbstractProcessor.php - About 1 hr to fix

          Function compileCriteria has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
          Open

          protected function compileCriteria(array $criteria, array &$bindings): string
          {
          $criteriaSQL = '';
          $previousAppendRule = null;
           
           
          Severity: Minor
          Found in src/Grammars/CommonGrammarCriteriaTrait.php - About 1 hr to fix

          Function whereArgumentsToCriterion has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
          Open

          protected function whereArgumentsToCriterion(
          array $arguments,
          string $appendRule = 'AND',
          bool $valueIsColumn = false
          ): Criterion {
          Severity: Minor
          Found in src/QueryBricks/WhereTrait.php - About 1 hr to fix

          Method compileInsert has 31 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

          public function compileInsert(Query $query): array
          {
          if ($query->table === null) {
          throw new InvalidQueryException('The INTO table is not set');
          }
          Severity: Minor
          Found in src/Grammars/CommonGrammar.php - About 1 hr to fix

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

            if (
            $value !== null &&
            !is_scalar($value) &&
            !($value instanceof \Closure) &&
            !($value instanceof self) &&
            Severity: Major
            Found in src/Query.php and 1 other location - About 1 hr to fix
            src/Query.php on lines 290..302

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

            if (
            $value !== null &&
            !is_numeric($value) &&
            !($value instanceof \Closure) &&
            !($value instanceof self) &&
            Severity: Major
            Found in src/Query.php and 1 other location - About 1 hr to fix
            src/Query.php on lines 325..337

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

            <?php
             
            namespace Finesse\QueryScribe\Exceptions;
             
            /**
            Severity: Major
            Found in src/Exceptions/InvalidArgumentException.php and 1 other location - About 1 hr to fix
            src/Exceptions/InvalidReturnValueException.php on lines 1..29

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

            <?php
             
            namespace Finesse\QueryScribe\Exceptions;
             
            /**
            Severity: Major
            Found in src/Exceptions/InvalidReturnValueException.php and 1 other location - About 1 hr to fix
            src/Exceptions/InvalidArgumentException.php on lines 1..29

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

            protected function processColumnCriterion(ColumnsCriterion $criterion, $context): ColumnsCriterion
            {
            $column1 = $this->processColumnOrSubQuery($criterion->column1, $context);
            $column2 = $this->processColumnOrSubQuery($criterion->column2, $context);
             
             
            Severity: Major
            Found in src/PostProcessors/AbstractProcessorCriteriaTrait.php and 1 other location - About 1 hr to fix
            src/PostProcessors/AbstractProcessorCriteriaTrait.php on lines 57..67

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

            protected function processValueCriterion(ValueCriterion $criterion, $context): ValueCriterion
            {
            $column = $this->processColumnOrSubQuery($criterion->column, $context);
            $value = $this->processValueOrSubQuery($criterion->value, $context);
             
             
            Severity: Major
            Found in src/PostProcessors/AbstractProcessorCriteriaTrait.php and 1 other location - About 1 hr to fix
            src/PostProcessors/AbstractProcessorCriteriaTrait.php on lines 72..82

            Method compileInsertFromValues has 28 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

            protected function compileInsertFromValues($table, string $tableAlias = null, array $values): array
            {
            if (empty($values)) {
            return [];
            }
            Severity: Minor
            Found in src/Grammars/CommonGrammar.php - About 1 hr to fix

              Function addInsert has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
              Open

              public function addInsert(array $rows): self
              {
              if (!empty($rows) && !is_array(reset($rows))) {
              $rows = [$rows];
              }
              Severity: Minor
              Found in src/QueryBricks/InsertTrait.php - About 1 hr to fix

              Method addInsert has 26 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

              public function addInsert(array $rows): self
              {
              if (!empty($rows) && !is_array(reset($rows))) {
              $rows = [$rows];
              }
              Severity: Minor
              Found in src/QueryBricks/InsertTrait.php - About 1 hr to fix

                Function addInsertFromSelect has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
                Open

                public function addInsertFromSelect($columns, $selectQuery = null): self
                {
                if ($selectQuery === null) {
                $selectQuery = $columns;
                $columns = null;
                Severity: Minor
                Found in src/QueryBricks/InsertTrait.php - About 55 mins to fix

                Function addSelect has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
                Open

                public function addSelect($columns, string $alias = null): self
                {
                if (!is_array($columns)) {
                if ($alias === null) {
                $columns = [$columns];
                Severity: Minor
                Found in src/QueryBricks/SelectTrait.php - About 45 mins to fix
                Severity
                Category
                Status
                Source
                Language