Code Duplication    Length = 8-9 lines in 6 locations

source/Spiral/Database/Builders/Traits/JoinsTrait.php 6 locations

@@ 181-189 (lines=9) @@
178
     * @return $this
179
     * @throws BuilderException
180
     */
181
    public function on($joined = null, $operator = null, $outer = null)
182
    {
183
        $this->whereToken(
184
            'AND', func_get_args(), $this->joinTokens[$this->activeJoin]['on'],
185
            $this->onWrapper()
186
        );
187
188
        return $this;
189
    }
190
191
    /**
192
     * Simple AND ON condition with various set of arguments. Can only be used to link column values
@@ 201-209 (lines=9) @@
198
     * @return $this
199
     * @throws BuilderException
200
     */
201
    public function andOn($joined = null, $operator = null, $outer = null)
202
    {
203
        $this->whereToken(
204
            'AND', func_get_args(), $this->joinTokens[$this->activeJoin]['on'],
205
            $this->onWrapper()
206
        );
207
208
        return $this;
209
    }
210
211
    /**
212
     * Simple OR ON condition with various set of arguments. Can only be used to link column values
@@ 221-228 (lines=8) @@
218
     * @return $this
219
     * @throws BuilderException
220
     */
221
    public function orOn($joined = null, $operator = null, $outer = null)
222
    {
223
        $this->whereToken(
224
            'AND', func_get_args(), $this->joinTokens[$this->activeJoin]['on'], $this->onWrapper()
225
        );
226
227
        return $this;
228
    }
229
230
    /**
231
     * Simple ON WHERE condition with various set of arguments. You can use parametric values in
@@ 242-250 (lines=9) @@
239
     * @return $this
240
     * @throws BuilderException
241
     */
242
    public function onWhere($joined, $variousA = null, $variousB = null, $variousC = null)
243
    {
244
        $this->whereToken(
245
            'AND', func_get_args(), $this->joinTokens[$this->activeJoin]['on'],
246
            $this->whereWrapper()
247
        );
248
249
        return $this;
250
    }
251
252
    /**
253
     * Simple AND ON WHERE condition with various set of arguments. You can use parametric values in
@@ 264-272 (lines=9) @@
261
     * @return $this
262
     * @throws BuilderException
263
     */
264
    public function andOnWhere($joined, $variousA = null, $variousB = null, $variousC = null)
265
    {
266
        $this->whereToken(
267
            'AND', func_get_args(), $this->joinTokens[$this->activeJoin]['on'],
268
            $this->whereWrapper()
269
        );
270
271
        return $this;
272
    }
273
274
    /**
275
     * Simple OR ON WHERE condition with various set of arguments. You can use parametric values in
@@ 286-294 (lines=9) @@
283
     * @return $this
284
     * @throws BuilderException
285
     */
286
    public function orOnWhere($joined, $variousA = null, $variousB = null, $variousC = null)
287
    {
288
        $this->whereToken(
289
            'AND', func_get_args(), $this->joinTokens[$this->activeJoin]['on'],
290
            $this->whereWrapper()
291
        );
292
293
        return $this;
294
    }
295
296
    /**
297
     * Convert various amount of where function arguments into valid where token.