Skip to content

Commit 6036a7c

Browse files
Ordered and documented dynamic getters
1 parent 84ff198 commit 6036a7c

File tree

1 file changed

+90
-79
lines changed

1 file changed

+90
-79
lines changed

lib/Gitlab/Client.php

Lines changed: 90 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -20,25 +20,37 @@
2020
*
2121
* @author Matt Humphrey <[email protected]>
2222
*
23+
* @property-read \Gitlab\Api\DeployKeys $deploy_keys
24+
* @property-read \Gitlab\Api\Deployments $deployments
25+
* @property-read \Gitlab\Api\Environments $environments
2326
* @property-read \Gitlab\Api\Groups $groups
27+
* @property-read \Gitlab\Api\GroupsBoards $groups_boards
28+
* @property-read \Gitlab\Api\GroupsMilestones $groups_milestones
29+
* @property-read \Gitlab\Api\IssueBoards $board
30+
* @property-read \Gitlab\Api\IssueBoards $issue_boards
31+
* @property-read \Gitlab\Api\IssueLinks $issue_links
2432
* @property-read \Gitlab\Api\Issues $issues
33+
* @property-read \Gitlab\Api\IssuesStatistics $issues_statistics
2534
* @property-read \Gitlab\Api\Jobs $jobs
35+
* @property-read \Gitlab\Api\Keys $keys
2636
* @property-read \Gitlab\Api\MergeRequests $merge_requests
2737
* @property-read \Gitlab\Api\MergeRequests $mr
2838
* @property-read \Gitlab\Api\Milestones $milestones
2939
* @property-read \Gitlab\Api\Milestones $ms
3040
* @property-read \Gitlab\Api\ProjectNamespaces $namespaces
3141
* @property-read \Gitlab\Api\ProjectNamespaces $ns
3242
* @property-read \Gitlab\Api\Projects $projects
33-
* @property-read \Gitlab\Api\Repositories $repositories
3443
* @property-read \Gitlab\Api\Repositories $repo
44+
* @property-read \Gitlab\Api\Repositories $repositories
45+
* @property-read \Gitlab\Api\RepositoryFiles $repositoryFiles
46+
* @property-read \Gitlab\Api\Schedules $schedules
3547
* @property-read \Gitlab\Api\Snippets $snippets
3648
* @property-read \Gitlab\Api\SystemHooks $hooks
3749
* @property-read \Gitlab\Api\SystemHooks $system_hooks
3850
* @property-read \Gitlab\Api\Users $users
39-
* @property-read \Gitlab\Api\Keys $keys
4051
* @property-read \Gitlab\Api\Tags $tags
4152
* @property-read \Gitlab\Api\Version $version
53+
* @property-read \Gitlab\Api\Wiki $wiki
4254
*/
4355
class Client
4456
{
@@ -128,6 +140,22 @@ public function deployKeys()
128140
return new Api\DeployKeys($this);
129141
}
130142

143+
/**
144+
* @return Api\Deployments
145+
*/
146+
public function deployments()
147+
{
148+
return new Api\Deployments($this);
149+
}
150+
151+
/**
152+
* @return Api\Environments
153+
*/
154+
public function environments()
155+
{
156+
return new Api\Environments($this);
157+
}
158+
131159
/**
132160
* @return Api\Groups
133161
*/
@@ -137,19 +165,19 @@ public function groups()
137165
}
138166

139167
/**
140-
* @return Api\GroupsMilestones
168+
* @return Api\GroupsBoards
141169
*/
142-
public function groupsMilestones()
170+
public function groupsBoards()
143171
{
144-
return new Api\GroupsMilestones($this);
172+
return new Api\GroupsBoards($this);
145173
}
146174

147175
/**
148-
* @return Api\Issues
176+
* @return Api\GroupsMilestones
149177
*/
150-
public function issues()
178+
public function groupsMilestones()
151179
{
152-
return new Api\Issues($this);
180+
return new Api\GroupsMilestones($this);
153181
}
154182

155183
/**
@@ -161,20 +189,27 @@ public function issueBoards()
161189
}
162190

163191
/**
164-
* @return Api\GroupsBoards
192+
* @return Api\IssueLinks
165193
*/
166-
public function groupsBoards()
194+
public function issueLinks()
167195
{
168-
return new Api\GroupsBoards($this);
196+
return new Api\IssueLinks($this);
169197
}
170198

199+
/**
200+
* @return Api\Issues
201+
*/
202+
public function issues()
203+
{
204+
return new Api\Issues($this);
205+
}
171206

172207
/**
173-
* @return Api\IssueLinks
208+
* @return Api\IssuesStatistics
174209
*/
175-
public function issueLinks()
210+
public function issuesStatistics()
176211
{
177-
return new Api\IssueLinks($this);
212+
return new Api\IssuesStatistics($this);
178213
}
179214

180215
/**
@@ -185,6 +220,14 @@ public function jobs()
185220
return new Api\Jobs($this);
186221
}
187222

223+
/**
224+
* @return Api\Keys
225+
*/
226+
public function keys()
227+
{
228+
return new Api\Keys($this);
229+
}
230+
188231
/**
189232
* @return Api\MergeRequests
190233
*/
@@ -233,6 +276,14 @@ public function repositoryFiles()
233276
return new Api\RepositoryFiles($this);
234277
}
235278

279+
/**
280+
* @return Api\Schedules
281+
*/
282+
public function schedules()
283+
{
284+
return new Api\Schedules($this);
285+
}
286+
236287
/**
237288
* @return Api\Snippets
238289
*/
@@ -257,14 +308,6 @@ public function users()
257308
return new Api\Users($this);
258309
}
259310

260-
/**
261-
* @return Api\Keys
262-
*/
263-
public function keys()
264-
{
265-
return new Api\Keys($this);
266-
}
267-
268311
/**
269312
* @return Api\Tags
270313
*/
@@ -281,30 +324,6 @@ public function version()
281324
return new Api\Version($this);
282325
}
283326

284-
/**
285-
* @return Api\Deployments
286-
*/
287-
public function deployments()
288-
{
289-
return new Api\Deployments($this);
290-
}
291-
292-
/**
293-
* @return Api\Environments
294-
*/
295-
public function environments()
296-
{
297-
return new Api\Environments($this);
298-
}
299-
300-
/**
301-
* @return Api\Schedules
302-
*/
303-
public function schedules()
304-
{
305-
return new Api\Schedules($this);
306-
}
307-
308327
/**
309328
* @return Api\Wiki
310329
*/
@@ -313,14 +332,6 @@ public function wiki()
313332
return new Api\Wiki($this);
314333
}
315334

316-
/**
317-
* @return Api\IssuesStatistics
318-
*/
319-
public function issuesStatistics()
320-
{
321-
return new Api\IssuesStatistics($this);
322-
}
323-
324335
/**
325336
* @param string $name
326337
*
@@ -334,30 +345,42 @@ public function api($name)
334345
case 'deploy_keys':
335346
return $this->deployKeys();
336347

348+
case 'deployments':
349+
return $this->deployments();
350+
351+
case 'environments':
352+
return $this->environments();
353+
337354
case 'groups':
338355
return $this->groups();
339-
340-
case 'groupsMilestones':
341-
return $this->groupsMilestones();
342356

343-
case 'issues':
344-
return $this->issues();
357+
case 'groups_boards':
358+
return $this->groupsBoards();
359+
360+
case 'groups_milestones':
361+
return $this->groupsMilestones();
345362

346363
case 'board':
347364
case 'issue_boards':
348365
return $this->issueBoards();
349366

350-
case 'group_boards':
351-
return $this->groupsBoards();
352-
353367
case 'issue_links':
354368
return $this->issueLinks();
355369

370+
case 'issues':
371+
return $this->issues();
372+
373+
case 'issues_statistics':
374+
return $this->issuesStatistics();
375+
356376
case 'jobs':
357377
return $this->jobs();
358378

359-
case 'mr':
379+
case 'keys':
380+
return $this->keys();
381+
360382
case 'merge_requests':
383+
case 'mr':
361384
return $this->mergeRequests();
362385

363386
case 'milestones':
@@ -377,7 +400,10 @@ public function api($name)
377400

378401
case 'repositoryFiles':
379402
return $this->repositoryFiles();
380-
403+
404+
case 'schedules':
405+
return $this->schedules();
406+
381407
case 'snippets':
382408
return $this->snippets();
383409

@@ -388,30 +414,15 @@ public function api($name)
388414
case 'users':
389415
return $this->users();
390416

391-
case 'keys':
392-
return $this->keys();
393-
394417
case 'tags':
395418
return $this->tags();
396419

397420
case 'version':
398421
return $this->version();
399422

400-
case 'environments':
401-
return $this->environments();
402-
403-
case 'deployments':
404-
return $this->deployments();
405-
406-
case 'schedules':
407-
return $this->schedules();
408-
409423
case 'wiki':
410424
return $this->wiki();
411425

412-
case 'issues_statistics':
413-
return $this->issuesStatistics();
414-
415426
default:
416427
throw new InvalidArgumentException('Invalid endpoint: "'.$name.'"');
417428
}

0 commit comments

Comments
 (0)