Code Duplication    Length = 75-75 lines in 2 locations

src/services/ObjectByIdOrString.php 1 location

@@ 18-92 (lines=75) @@
15
 * @author Flipbox Factory <[email protected]>
16
 * @since 2.1.0
17
 */
18
abstract class ObjectByIdOrString extends ObjectById
19
{
20
21
    use traits\ObjectByString;
22
23
    /**
24
     * @inheritdoc
25
     */
26
    public function find($identifier, string $toScenario = null)
27
    {
28
29
        if ($model = parent::find($identifier, $toScenario)) {
30
            return $model;
31
        }
32
33
        if (!is_string($identifier)) {
34
            return null;
35
        }
36
37
        return $this->findByString($identifier, $toScenario);
38
39
    }
40
41
    /*******************************************
42
     * CACHE
43
     *******************************************/
44
45
    /**
46
     * @inheritdoc
47
     */
48
    public function findCache($identifier)
49
    {
50
51
        if ($model = parent::findCache($identifier)) {
52
            return $model;
53
        }
54
55
        if (!is_string($identifier)) {
56
            return null;
57
        }
58
59
        return $this->findCacheByString($identifier);
60
61
    }
62
63
    /**
64
     * @inheritdoc
65
     */
66
    public function addToCache(BaseObject $object)
67
    {
68
69
        parent::addToCache($object);
70
71
        $this->cacheByString($object);
72
73
        return $this;
74
75
    }
76
77
78
    /**
79
     * @inheritdoc
80
     */
81
    public function findCacheByRecord(Record $record)
82
    {
83
84
        if ($model = parent::findCacheByRecord($record)) {
85
            return $model;
86
        }
87
88
        return $this->findCacheByRecordByString($record);
89
90
    }
91
92
}

src/services/ObjectByString.php 1 location

@@ 18-92 (lines=75) @@
15
 * @author Flipbox Factory <[email protected]>
16
 * @since 2.0.0
17
 */
18
abstract class ObjectByString extends Object
19
{
20
21
    use traits\ObjectByString;
22
23
    /**
24
     * @inheritdoc
25
     */
26
    public function find($identifier, string $toScenario = null)
27
    {
28
29
        if ($model = parent::find($identifier, $toScenario)) {
30
            return $model;
31
        }
32
33
        if (!is_string($identifier)) {
34
            return null;
35
        }
36
37
        return $this->findByString($identifier, $toScenario);
38
39
    }
40
41
    /*******************************************
42
     * CACHE
43
     *******************************************/
44
45
    /**
46
     * @inheritdoc
47
     */
48
    public function findCache($identifier)
49
    {
50
51
        if ($model = parent::findCache($identifier)) {
52
            return $model;
53
        }
54
55
        if (!is_string($identifier)) {
56
            return null;
57
        }
58
59
        return $this->findCacheByString($identifier);
60
61
    }
62
63
    /**
64
     * @inheritdoc
65
     */
66
    public function addToCache(BaseObject $object)
67
    {
68
69
        parent::addToCache($object);
70
71
        $this->cacheByString($object);
72
73
        return $this;
74
75
    }
76
77
78
    /**
79
     * @inheritdoc
80
     */
81
    public function findCacheByRecord(Record $record)
82
    {
83
84
        if ($model = parent::findCacheByRecord($record)) {
85
            return $model;
86
        }
87
88
        return $this->findCacheByRecordByString($record);
89
90
    }
91
92
}
93