Code Duplication    Length = 15-16 lines in 2 locations

src/Database/Bindings/UsersBinding.php 1 location

@@ 30-45 (lines=16) @@
27
        parent::__construct($database, 'users', User::class);
28
    }
29
30
    public function lookupByScreenName($screen_name, $params = [])
31
    {
32
        $_screen_name = (string) $screen_name;
33
        if (strlen($_screen_name) >= User::SCREEN_NAME_MINIMUM_LENGTH) {
34
            $statement = $this->database()->prepare("
35
            SELECT *
36
                FROM `" . $this->databaseTable() . "`
37
                WHERE
38
                  `screen_name` = :screen_name
39
        ");
40
            if ($statement->execute(['screen_name' => $_screen_name])) {
41
                return $this->instantiateObject($statement->fetch(), $params);
42
            }
43
        }
44
        return null;
45
    }
46
}
47

src/Database/AbstractBinding.php 1 location

@@ 337-351 (lines=15) @@
334
     *
335
     * @return AbstractObject|null `NULL` if the object is not found or cannot be deleted
336
     */
337
    public function delete($id, $params = [])
338
    {
339
        $object = $this->getDeletedObject($id, $params);
340
        if ($object instanceof AbstractObject) {
341
            $statement = $this->database()->prepare("
342
                DELETE FROM `" . $this->databaseTable() . "`
343
                    WHERE
344
                        `id` = :id
345
            ");
346
            if ($statement->execute(['id' => $id])) {
347
                return $object;
348
            }
349
        }
350
        return null;
351
    }
352
353
    /**
354
     * Retrieve a soon-to-be deleted object from database