Passed
Pull Request — master (#11)
by Michel
04:04 queued 01:47
created

SyncOptions::getLastSync()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 3
ccs 2
cts 2
cp 1
rs 10
c 0
b 0
f 0
cc 1
eloc 1
nc 1
nop 0
crap 1
1
<?php
2
declare(strict_types=1);
3
4
namespace TogglJira\Options;
5
6
use Zend\Stdlib\AbstractOptions;
7
8
class SyncOptions extends AbstractOptions
9
{
10
    /**
11
     * @var \DateTimeInterface
12
     */
13
    private $lastSync;
14
15
    /**
16
     * @var string
17
     */
18
    private $jiraUsername;
19
20
    /**
21
     * @var string
22
     */
23
    private $jiraPassword;
24
25
    /**
26
     * @var string
27
     */
28
    private $togglApiKey;
29
30
    /**
31
     * @var string
32
     */
33
    private $jiraUrl;
34
35
    /**
36
     * @var string
37
     */
38
    private $fillIssueID;
39
40
    /**
41
     * @var string
42
     */
43
    private $fillIssueComment;
44
45
    /**
46
     * @param array|null $options
47
     * @throws \Exception
48
     */
49 3
    public function __construct(array $options = null)
50
    {
51 3
        $this->lastSync = new \DateTimeImmutable('-1 day');
52
53 3
        parent::__construct($options);
54 3
    }
55
56
    /**
57
     * @return string
58
     */
59 2
    public function getTogglApiKey(): string
60
    {
61 2
        return $this->togglApiKey;
62
    }
63
64
    /**
65
     * @param string $togglApiKey
66
     */
67 3
    public function setTogglApiKey(string $togglApiKey): void
68
    {
69 3
        $this->togglApiKey = $togglApiKey;
70 3
    }
71
72
    /**
73
     * @return string
74
     */
75 2
    public function getJiraPassword(): string
76
    {
77 2
        return $this->jiraPassword;
78
    }
79
80
    /**
81
     * @param string $jiraPassword
82
     */
83 3
    public function setJiraPassword(string $jiraPassword): void
84
    {
85 3
        $this->jiraPassword = $jiraPassword;
86 3
    }
87
88
    /**
89
     * @return string
90
     */
91 2
    public function getJiraUsername(): string
92
    {
93 2
        return $this->jiraUsername;
94
    }
95
96
    /**
97
     * @param string $jiraUsername
98
     */
99 3
    public function setJiraUsername(string $jiraUsername): void
100
    {
101 3
        $this->jiraUsername = $jiraUsername;
102 3
    }
103
104
    /**
105
     * @return \DateTimeInterface
106
     */
107 2
    public function getLastSync(): \DateTimeInterface
108
    {
109 2
        return $this->lastSync;
110
    }
111
112
    /**
113
     * @param \DateTimeInterface $lastSync
114
     */
115 3
    public function setLastSync(\DateTimeInterface $lastSync): void
116
    {
117 3
        $this->lastSync = $lastSync;
118 3
    }
119
120
    /**
121
     * @return string
122
     */
123 2
    public function getJiraUrl(): string
124
    {
125 2
        return $this->jiraUrl;
126
    }
127
128
    /**
129
     * @param string $jiraUrl
130
     */
131 3
    public function setJiraUrl(string $jiraUrl): void
132
    {
133 3
        $this->jiraUrl = $jiraUrl;
134 3
    }
135
136
    /**
137
     * @return string
138
     */
139 1
    public function getFillIssueID(): string
140
    {
141 1
        return $this->fillIssueID;
142
    }
143
144
    /**
145
     * @param string $fillIssueID
146
     */
147 1
    public function setFillIssueID(string $fillIssueID): void
148
    {
149 1
        $this->fillIssueID = $fillIssueID;
150 1
    }
151
152
    /**
153
     * @return string
154
     */
155 1
    public function getFillIssueComment(): string
156
    {
157 1
        return $this->fillIssueComment;
158
    }
159
160
    /**
161
     * @param string $fillIssueComment
162
     */
163 1
    public function setFillIssueComment(string $fillIssueComment): void
164
    {
165 1
        $this->fillIssueComment = $fillIssueComment;
166 1
    }
167
168
    /**
169
     * @return array
170
     */
171 1
    public function toArray(): array
172
    {
173
        return [
174 1
            'lastSync' => $this->getLastSync(),
175 1
            'jiraUrl' => $this->getJiraUrl(),
176 1
            'jiraUsername' => $this->getJiraUsername(),
177 1
            'jiraPassword' => $this->getJiraPassword(),
178 1
            'togglApiKey' => $this->getTogglApiKey(),
179 1
            'fillIssueID' => $this->getFillIssueID(),
180 1
            'fillIssueComment' => $this->getFillIssueComment(),
181
        ];
182
    }
183
}
184