Completed
Push — master ( 3b0b6a...263c36 )
by Guillaume
02:53
created

SetupCredentials   A

Complexity

Total Complexity 12

Size/Duplication

Total Lines 61
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 5

Importance

Changes 0
Metric Value
wmc 12
lcom 1
cbo 5
dl 0
loc 61
rs 10
c 0
b 0
f 0

8 Methods

Rating   Name   Duplication   Size   Complexity  
A scriptFilter() 0 8 1
A apitoken() 0 8 1
A accountId() 0 8 1
A apitokenTitle() 0 4 2
A apitokenSubtitle() 0 6 2
A accountIdTitle() 0 4 2
A accountIdSubtitle() 0 6 2
A back() 0 7 1
1
<?php
2
3
namespace Godbout\Alfred\Time\Menus\Harvest;
4
5
use Godbout\Alfred\Time\Workflow;
6
use Godbout\Alfred\Workflow\Icon;
7
use Godbout\Alfred\Workflow\Item;
8
use Godbout\Alfred\Time\Menus\Menu;
9
use Godbout\Alfred\Workflow\ScriptFilter;
10
11
class SetupCredentials extends Menu
12
{
13
    public static function scriptFilter()
14
    {
15
        ScriptFilter::add(
16
            self::accountId(),
17
            self::apitoken(),
18
            self::back()
19
        );
20
    }
21
22
    private static function apitoken()
23
    {
24
        return Item::create()
25
            ->title(self::apitokenTitle())
26
            ->subtitle(self::apitokenSubtitle())
27
            ->arg('harvest_setup_apitoken')
28
            ->icon(Icon::create('resources/icons/harvest.png'));
29
    }
30
31
    private static function accountId()
32
    {
33
        return Item::create()
34
            ->title(self::accountIdTitle())
35
            ->subtitle(self::accountIdSubtitle())
36
            ->arg('harvest_setup_account_id')
37
            ->icon(Icon::create('resources/icons/harvest.png'));
38
    }
39
40
    private static function apitokenTitle()
41
    {
42
        return empty(Workflow::getConfig()->read('harvest.api_token')) ? 'Set API token' : 'Update API token';
43
    }
44
45
    private static function apitokenSubtitle()
46
    {
47
        $apitoken = Workflow::getConfig()->read('harvest.api_token');
48
49
        return empty($apitoken) ? 'No API token found' : 'Current API token: ' . substr($apitoken, 0, 11) . '...';
50
    }
51
52
    private static function accountIdTitle()
53
    {
54
        return empty(Workflow::getConfig()->read('harvest.account_id')) ? 'Set Account ID' : 'Update Account ID';
55
    }
56
57
    private static function accountIdSubtitle()
58
    {
59
        $accountId = Workflow::getConfig()->read('harvest.account_id');
60
61
        return empty($accountId) ? 'No Account ID found' : 'Current Account ID: ' . substr($accountId, 0, 4) . '...';
62
    }
63
64
    private static function back()
65
    {
66
        return Item::create()
67
            ->title('Back')
68
            ->arg('harvest_setup')
69
            ->icon(Icon::create('resources/icons/harvest.png'));
70
    }
71
}
72