Code Duplication    Length = 29-29 lines in 2 locations

src/Model.php 1 location

@@ 9-37 (lines=29) @@
6
use Tylercd100\Database\Eloquent\Traits\AutoCache;
7
use Tylercd100\Database\Eloquent\Traits\AutoValidate;
8
9
abstract class Model extends IlluminateModel
10
{
11
    use AutoCache, AutoValidate;
12
13
    /**
14
     * A method best used to register Eloquent events when the model boots up
15
     * @return void
16
     */
17
    protected static function boot()
18
    {
19
        parent::boot();
20
21
        // Auto Validate
22
        self::saving(function ($model) {
23
            if (!$model->validate()) {
24
                return false;
25
            }
26
        });
27
28
        // Auto Cache
29
        static::saved(function ($model) {
30
            $model->refresh();
31
        }, -1);
32
33
        static::deleted(function ($model) {
34
            $model->refresh();
35
        }, -1);
36
    }
37
}
38

src/Relations/Pivot.php 1 location

@@ 9-37 (lines=29) @@
6
use Tylercd100\Database\Eloquent\Traits\AutoCache;
7
use Tylercd100\Database\Eloquent\Traits\AutoValidate;
8
9
abstract class Pivot extends IlluminatePivot
10
{
11
    use AutoCache, AutoValidate;
12
    
13
    /**
14
     * A method best used to register Eloquent events when the model boots up
15
     * @return void
16
     */
17
    protected static function boot()
18
    {
19
        parent::boot();
20
21
        // Auto Validate
22
        self::saving(function ($model) {
23
            if (!$model->validate()) {
24
                return false;
25
            }
26
        });
27
28
        // Auto Cache
29
        static::saved(function ($model) {
30
            $model->refresh();
31
        }, -1);
32
33
        static::deleted(function ($model) {
34
            $model->refresh();
35
        }, -1);
36
    }
37
}
38