Passed
Pull Request — master (#38)
by giu
04:13
created

UsersTable   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 56
Duplicated Lines 0 %

Test Coverage

Coverage 52.63%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 19
c 1
b 0
f 0
dl 0
loc 56
ccs 10
cts 19
cp 0.5263
rs 10
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A buildRules() 0 5 1
A initialize() 0 9 1
A validationDefault() 0 16 1
1
<?php
2
namespace App\Model\Table;
3
4
use Cake\ORM\Query;
5
use Cake\ORM\RulesChecker;
6
use Cake\ORM\Table;
7
use Cake\Validation\Validator;
8
9
/**
10
 * Users Model
11
 *
12
 * @method \App\Model\Entity\User get($primaryKey, $options = [])
13
 * @method \App\Model\Entity\User newEntity($data = null, array $options = [])
14
 * @method \App\Model\Entity\User[] newEntities(array $data, array $options = [])
15
 * @method \App\Model\Entity\User|bool save(\Cake\Datasource\EntityInterface $entity, $options = [])
16
 * @method \App\Model\Entity\User patchEntity(\Cake\Datasource\EntityInterface $entity, array $data, array $options = [])
17
 * @method \App\Model\Entity\User[] patchEntities($entities, array $data, array $options = [])
18
 * @method \App\Model\Entity\User findOrCreate($search, callable $callback = null, $options = [])
19
 *
20
 * @mixin \Cake\ORM\Behavior\TimestampBehavior
21
 */
22
class UsersTable extends Table
23
{
24
25
    /**
26
     * Initialize method
27
     *
28
     * @param array $config The configuration for the Table.
29
     * @return void
30
     */
31 3
    public function initialize(array $config) : void
32
    {
33 3
        parent::initialize($config);
34
35 3
        $this->setTable('users');
36 3
        $this->setDisplayField('id');
37 3
        $this->setPrimaryKey('id');
38
39 3
        $this->addBehavior('Timestamp');
40 3
    }
41
42
    /**
43
     * Default validation rules.
44
     *
45
     * @param \Cake\Validation\Validator $validator Validator instance.
46
     * @return \Cake\Validation\Validator
47
     */
48
    public function validationDefault(Validator $validator) : Validator
49
    {
50
        $validator
51
            ->integer('id')
52
            ->allowEmptyFor('id', 'create');
53
54
        $validator
55
            ->email('email')
56
            ->requirePresence('email', 'create')
57
            ->notEmpty('email');
58
59
        $validator
60
            ->requirePresence('password', 'create')
61
            ->notEmpty('password');
62
63
        return $validator;
64
    }
65
66
    /**
67
     * Returns a rules checker object that will be used for validating
68
     * application integrity.
69
     *
70
     * @param \Cake\ORM\RulesChecker $rules The rules object to be modified.
71
     * @return \Cake\ORM\RulesChecker
72
     */
73 1
    public function buildRules(RulesChecker $rules) : RulesChecker
74
    {
75 1
        $rules->add($rules->isUnique(['email']));
76
77 1
        return $rules;
78
    }
79
}
80