Code Duplication    Length = 25-26 lines in 3 locations

source/Spiral/Database/Builders/Traits/JoinsTrait.php 1 location

@@ 382-406 (lines=25) @@
379
     *
380
     * @return \Closure
381
     */
382
    private function onWhereWrapper()
383
    {
384
        return function ($parameter) {
385
            if ($parameter instanceof FragmentInterface) {
386
                //We are only not creating bindings for plan fragments
387
                if (!$parameter instanceof ParameterInterface && !$parameter instanceof QueryBuilder) {
388
                    return $parameter;
389
                }
390
            }
391
392
            if (is_array($parameter)) {
393
                throw new BuilderException('Arrays must be wrapped with Parameter instance');
394
            }
395
396
            //Wrapping all values with ParameterInterface
397
            if (!$parameter instanceof ParameterInterface && !$parameter instanceof ExpressionInterface) {
398
                $parameter = new Parameter($parameter, Parameter::DETECT_TYPE);
399
            };
400
401
            //Let's store to sent to driver when needed
402
            $this->onParameters[] = $parameter;
403
404
            return $parameter;
405
        };
406
    }
407
}
408

source/Spiral/Database/Builders/Prototypes/AbstractSelect.php 1 location

@@ 255-280 (lines=26) @@
252
     *
253
     * @return \Closure
254
     */
255
    private function havingWrapper()
256
    {
257
        return function ($parameter) {
258
            if ($parameter instanceof FragmentInterface) {
259
260
                //We are only not creating bindings for plan fragments
261
                if (!$parameter instanceof ParameterInterface && !$parameter instanceof QueryBuilder) {
262
                    return $parameter;
263
                }
264
            }
265
266
            if (is_array($parameter)) {
267
                throw new BuilderException('Arrays must be wrapped with Parameter instance');
268
            }
269
270
            //Wrapping all values with ParameterInterface
271
            if (!$parameter instanceof ParameterInterface && !$parameter instanceof ExpressionInterface) {
272
                $parameter = new Parameter($parameter, Parameter::DETECT_TYPE);
273
            };
274
275
            //Let's store to sent to driver when needed
276
            $this->havingParameters[] = $parameter;
277
278
            return $parameter;
279
        };
280
    }
281
}
282

source/Spiral/Database/Builders/Prototypes/AbstractWhere.php 1 location

@@ 384-408 (lines=25) @@
381
     *
382
     * @return \Closure
383
     */
384
    private function whereWrapper()
385
    {
386
        return function ($parameter) {
387
            if ($parameter instanceof FragmentInterface) {
388
                //We are only not creating bindings for plan fragments
389
                if (!$parameter instanceof ParameterInterface && !$parameter instanceof QueryBuilder) {
390
                    return $parameter;
391
                }
392
            }
393
394
            if (is_array($parameter)) {
395
                throw new BuilderException('Arrays must be wrapped with Parameter instance');
396
            }
397
398
            //Wrapping all values with ParameterInterface
399
            if (!$parameter instanceof ParameterInterface && !$parameter instanceof ExpressionInterface) {
400
                $parameter = new Parameter($parameter, Parameter::DETECT_TYPE);
401
            };
402
403
            //Let's store to sent to driver when needed
404
            $this->whereParameters[] = $parameter;
405
406
            return $parameter;
407
        };
408
    }
409
}
410