Passed
Pull Request — master (#1)
by João Felipe Magro
01:22
created

SubscriptionValidator   A

Complexity

Total Complexity 12

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 12
dl 0
loc 27
rs 10
c 1
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A isValidProfileId() 0 3 2
A isValidCycle() 0 3 3
A isValidInterval() 0 9 4
A isValidFrequency() 0 3 3
1
<?php
2
3
namespace Ipag\Classes\Validators;
4
5
use Ipag\Classes\Enum\Interval;
6
7
final class SubscriptionValidator
8
{
9
    public function isValidFrequency($frequency)
10
    {
11
        return (bool) (is_numeric($frequency) && strlen($frequency) >= 1 && strlen($frequency) <= 2);
12
    }
13
14
    public function isValidInterval($interval)
15
    {
16
        switch ($interval) {
17
            case Interval::DAY:
18
            case Interval::WEEK:
19
            case Interval::MONTH:
20
                return true;
21
            default:
22
                return false;
23
        }
24
    }
25
26
    public function isValidCycle($cycle)
27
    {
28
        return (bool) (is_numeric($cycle) && strlen($cycle) >= 1 && strlen($cycle) <= 3);
29
    }
30
31
    public function isValidProfileId($profileId)
32
    {
33
        return (bool) (is_numeric($profileId) && strlen($profileId) <= 32);
34
    }
35
}
36