Completed
Push — master ( 6873e8...20cc66 )
by Miro
02:52 queued 48s
created

GithubMilestoneSource::getGithubCreatedAt()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
rs 10
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
namespace DevBoardLib\GithubCore\Milestone;
3
4
use DateTime;
5
use DevBoardLib\GithubCore\Milestone\GithubMilestone;
6
use DevBoardLib\GithubCore\Milestone\GithubMilestoneId;
7
use DevBoardLib\GithubCore\Milestone\State\GithubMilestoneState;
8
use DevBoardLib\GithubCore\Repo\GithubRepo;
9
use DevBoardLib\GithubCore\Repo\GithubRepoId;
10
use DevBoardLib\GithubCore\User\GithubUser;
11
use DevBoardLib\GithubCore\User\GithubUserId;
12
13
class GithubMilestoneSource implements GithubMilestone
14
{
15
    /** @var GithubMilestoneId */
16
    protected $id;
17
    /** @var GithubRepo */
18
    protected $repo;
19
    /** @var int */
20
    private $number;
21
    /** @var GithubMilestoneState */
22
    private $state;
23
    /** @var string */
24
    private $title;
25
    /** @var string */
26
    private $description;
27
    /** @var GithubUser */
28
    private $createdByUser;
29
    /** @var int */
30
    private $openIssueCount;
31
    /** @var int */
32
    private $closedIssueCount;
33
    /** @var \DateTime */
34
    private $dueDate;
35
    /** @var \DateTime */
36
    private $githubCreatedAt;
37
    /** @var \DateTime */
38
    private $githubUpdatedAt;
39
    /** @var \DateTime */
40
    private $githubClosedAt;
41
42
    /**
43
     * GithubMilestoneSource constructor.
44
     *
45
     * @param GithubMilestoneId    $id
46
     * @param GithubRepo           $repo
47
     * @param int                  $number
48
     * @param GithubMilestoneState $state
49
     * @param string               $title
50
     * @param string               $description
51
     * @param GithubUser           $createdByUser
52
     * @param int                  $openIssueCount
53
     * @param int                  $closedIssueCount
54
     * @param DateTime             $dueDate
55
     * @param DateTime             $githubCreatedAt
56
     * @param DateTime             $githubUpdatedAt
57
     * @param DateTime             $githubClosedAt
58
     *
59
     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
60
     */
61 View Code Duplication
    public function __construct(
0 ignored issues
show
Duplication introduced by
This method seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
62
        GithubMilestoneId $id,
63
        GithubRepo $repo,
64
        $number,
65
        GithubMilestoneState $state,
66
        $title,
67
        $description,
68
        GithubUser $createdByUser,
69
        $openIssueCount,
70
        $closedIssueCount,
71
        DateTime $dueDate = null,
72
        DateTime $githubCreatedAt,
73
        DateTime $githubUpdatedAt,
74
        DateTime $githubClosedAt = null
75
    ) {
76
        $this->id               = $id;
77
        $this->repo             = $repo;
78
        $this->number           = $number;
79
        $this->state            = $state;
80
        $this->title            = $title;
81
        $this->description      = $description;
82
        $this->createdByUser    = $createdByUser;
83
        $this->openIssueCount   = $openIssueCount;
84
        $this->closedIssueCount = $closedIssueCount;
85
        $this->dueDate          = $dueDate;
86
        $this->githubCreatedAt  = $githubCreatedAt;
87
        $this->githubUpdatedAt  = $githubUpdatedAt;
88
        $this->githubClosedAt   = $githubClosedAt;
89
    }
90
91
    /**
92
     * @return GithubMilestoneId
93
     */
94
    public function getId()
95
    {
96
        return $this->id;
97
    }
98
99
    /**
100
     * @return GithubRepoId
101
     */
102
    public function getRepoId()
103
    {
104
        return $this->repo->getId();
105
    }
106
107
    /**
108
     * @return GithubRepo
109
     */
110
    public function getRepo()
111
    {
112
        return $this->repo;
113
    }
114
115
    /**
116
     * @return int
117
     */
118
    public function getNumber()
119
    {
120
        return $this->number;
121
    }
122
123
    /**
124
     * @return GithubMilestoneState
125
     */
126
    public function getState()
127
    {
128
        return $this->state;
129
    }
130
131
    /**
132
     * @return string
133
     */
134
    public function getTitle()
135
    {
136
        return $this->title;
137
    }
138
139
    /**
140
     * @return string
141
     */
142
    public function getDescription()
143
    {
144
        return $this->description;
145
    }
146
147
    /**
148
     * @return GithubUserId
149
     */
150
    public function getCreatedByUserId()
151
    {
152
        return $this->createdByUser->getGithubUserId();
153
    }
154
155
    /**
156
     * @return GithubUser
157
     */
158
    public function getCreatedByUser()
159
    {
160
        return $this->createdByUser;
161
    }
162
163
    /**
164
     * @return int
165
     */
166
    public function getOpenIssueCount()
167
    {
168
        return $this->openIssueCount;
169
    }
170
171
    /**
172
     * @return int
173
     */
174
    public function getClosedIssueCount()
175
    {
176
        return $this->closedIssueCount;
177
    }
178
179
    /**
180
     * @return DateTime
181
     */
182
    public function getDueDate()
183
    {
184
        return $this->dueDate;
185
    }
186
187
    /**
188
     * @return DateTime
189
     */
190
    public function getGithubCreatedAt()
191
    {
192
        return $this->githubCreatedAt;
193
    }
194
195
    /**
196
     * @return DateTime
197
     */
198
    public function getGithubUpdatedAt()
199
    {
200
        return $this->githubUpdatedAt;
201
    }
202
203
    /**
204
     * @return DateTime
205
     */
206
    public function getGithubClosedAt()
207
    {
208
        return $this->githubClosedAt;
209
    }
210
}
211