Code Duplication    Length = 8-9 lines in 6 locations

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

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