Skip to content

Commit d3ea6ac

Browse files
author
Matt Humphrey
committed
Added getProjectPath() method
1 parent 989bc2c commit d3ea6ac

File tree

7 files changed

+77
-66
lines changed

7 files changed

+77
-66
lines changed

lib/Gitlab/Api/AbstractApi.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,4 +102,13 @@ protected function delete($path, array $parameters = array(), $requestHeaders =
102102

103103
return $response->getContent();
104104
}
105+
106+
/**
107+
* @param int $id
108+
* @return string
109+
*/
110+
protected function getProjectPath($id, $path)
111+
{
112+
return 'projects/'.urlencode($id).'/'.$path;
113+
}
105114
}

lib/Gitlab/Api/Issues.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class Issues extends AbstractApi
1111
*/
1212
public function all($project_id = null, $page = 1, $per_page = self::PER_PAGE, array $params = array())
1313
{
14-
$path = $project_id === null ? 'issues' : 'projects/'.urlencode($project_id).'/issues';
14+
$path = $project_id === null ? 'issues' : $this->getProjectPath($project_id, 'issues');
1515

1616
$params = array_intersect_key($params, array('labels' => '', 'state' => ''));
1717
$params = array_merge(array(
@@ -29,7 +29,7 @@ public function all($project_id = null, $page = 1, $per_page = self::PER_PAGE, a
2929
*/
3030
public function show($project_id, $issue_id)
3131
{
32-
return $this->get('projects/'.urlencode($project_id).'/issues/'.urlencode($issue_id));
32+
return $this->get($this->getProjectPath($project_id, 'issues/'.urlencode($issue_id)));
3333
}
3434

3535
/**
@@ -39,7 +39,7 @@ public function show($project_id, $issue_id)
3939
*/
4040
public function create($project_id, array $params)
4141
{
42-
return $this->post('projects/'.urlencode($project_id).'/issues', $params);
42+
return $this->post($this->getProjectPath($project_id, 'issues'), $params);
4343
}
4444

4545
/**
@@ -50,7 +50,7 @@ public function create($project_id, array $params)
5050
*/
5151
public function update($project_id, $issue_id, array $params)
5252
{
53-
return $this->put('projects/'.urlencode($project_id).'/issues/'.urlencode($issue_id), $params);
53+
return $this->put($this->getProjectPath($project_id, 'issues/'.urlencode($issue_id)), $params);
5454
}
5555

5656
/**
@@ -60,7 +60,7 @@ public function update($project_id, $issue_id, array $params)
6060
*/
6161
public function showComments($project_id, $issue_id)
6262
{
63-
return $this->get('projects/'.urlencode($project_id).'/issues/'.urlencode($issue_id).'/notes');
63+
return $this->get($this->getProjectPath($project_id, 'issues/'.urlencode($issue_id)).'/notes');
6464
}
6565

6666
/**
@@ -71,6 +71,6 @@ public function showComments($project_id, $issue_id)
7171
*/
7272
public function addComment($project_id, $issue_id, array $params)
7373
{
74-
return $this->post('projects/'.urlencode($project_id).'/issues/'.urlencode($issue_id).'/notes', $params);
74+
return $this->post($this->getProjectPath($project_id, 'issues/'.urlencode($issue_id).'/notes'), $params);
7575
}
7676
}

lib/Gitlab/Api/MergeRequests.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public function closed($project_id, $page = 1, $per_page = self::PER_PAGE)
5858
*/
5959
public function show($project_id, $mr_id)
6060
{
61-
return $this->get('projects/'.urlencode($project_id).'/merge_request/'.urlencode($mr_id));
61+
return $this->get($this->getProjectPath($project_id, 'merge_request/'.urlencode($mr_id)));
6262
}
6363

6464
/**
@@ -77,7 +77,7 @@ public function create($project_id, $source, $target, $title, $assignee = null,
7777
throw new \InvalidArgumentException('target_project_id should be numeric, the project name is not allowed');
7878
}
7979

80-
return $this->post('projects/'.urlencode($project_id).'/merge_requests', array(
80+
return $this->post($this->getProjectPath($project_id, 'merge_requests'), array(
8181
'source_branch' => $source,
8282
'target_branch' => $target,
8383
'title' => $title,
@@ -95,7 +95,7 @@ public function create($project_id, $source, $target, $title, $assignee = null,
9595
*/
9696
public function update($project_id, $mr_id, array $params)
9797
{
98-
return $this->put('projects/'.urlencode($project_id).'/merge_request/'.urlencode($mr_id), $params);
98+
return $this->put($this->getProjectPath($project_id, 'merge_request/'.urlencode($mr_id)), $params);
9999
}
100100

101101
/**
@@ -106,7 +106,7 @@ public function update($project_id, $mr_id, array $params)
106106
*/
107107
public function merge($project_id, $mr_id, array $params)
108108
{
109-
return $this->put('projects/'.urlencode($project_id).'/merge_request/'.urlencode($mr_id).'/merge', $params);
109+
return $this->put($this->getProjectPath($project_id, 'merge_request/'.urlencode($mr_id).'/merge'), $params);
110110
}
111111

112112
/**
@@ -116,7 +116,7 @@ public function merge($project_id, $mr_id, array $params)
116116
*/
117117
public function showComments($project_id, $mr_id)
118118
{
119-
return $this->get('projects/'.urlencode($project_id).'/merge_request/'.urlencode($mr_id).'/comments');
119+
return $this->get($this->getProjectPath($project_id, 'merge_request/'.urlencode($mr_id).'/comments'));
120120
}
121121

122122
/**
@@ -127,7 +127,7 @@ public function showComments($project_id, $mr_id)
127127
*/
128128
public function addComment($project_id, $mr_id, $note)
129129
{
130-
return $this->post('projects/'.urlencode($project_id).'/merge_request/'.urlencode($mr_id).'/comments', array(
130+
return $this->post($this->getProjectPath($project_id, 'merge_request/'.urlencode($mr_id).'/comments'), array(
131131
'note' => $note
132132
));
133133
}
@@ -141,7 +141,7 @@ public function addComment($project_id, $mr_id, $note)
141141
*/
142142
protected function getMrList($project_id, $page, $per_page, $state = self::STATE_ALL)
143143
{
144-
return $this->get('projects/'.urlencode($project_id).'/merge_requests', array(
144+
return $this->get($this->getProjectPath($project_id, 'merge_requests'), array(
145145
'page' => $page,
146146
'per_page' => $per_page,
147147
'state' => $state

lib/Gitlab/Api/Milestones.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ class Milestones extends AbstractApi
1010
*/
1111
public function all($project_id, $page = 1, $per_page = self::PER_PAGE)
1212
{
13-
return $this->get('projects/'.urlencode($project_id).'/milestones', array(
13+
return $this->get($this->getProjectPath($project_id, '/milestones'), array(
1414
'page' => $page,
1515
'per_page' => $per_page
1616
));
@@ -23,7 +23,7 @@ public function all($project_id, $page = 1, $per_page = self::PER_PAGE)
2323
*/
2424
public function show($project_id, $milestone_id)
2525
{
26-
return $this->get('projects/'.urlencode($project_id).'/milestones/'.urlencode($milestone_id));
26+
return $this->get($this->getProjectPath($project_id, '/milestones/'.urlencode($milestone_id)));
2727
}
2828

2929
/**
@@ -33,7 +33,7 @@ public function show($project_id, $milestone_id)
3333
*/
3434
public function create($project_id, array $params)
3535
{
36-
return $this->post('projects/'.urlencode($project_id).'/milestones', $params);
36+
return $this->post($this->getProjectPath($project_id, '/milestones'), $params);
3737
}
3838

3939
/**
@@ -44,6 +44,6 @@ public function create($project_id, array $params)
4444
*/
4545
public function update($project_id, $milestone_id, array $params)
4646
{
47-
return $this->put('projects/'.urlencode($project_id).'/milestones/'.urlencode($milestone_id), $params);
47+
return $this->put($this->getProjectPath($project_id, '/milestones/'.urlencode($milestone_id)), $params);
4848
}
4949
}

lib/Gitlab/Api/Projects.php

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ public function remove($project_id)
105105
*/
106106
public function members($project_id, $username_query = null)
107107
{
108-
return $this->get('projects/'.urlencode($project_id).'/members', array(
108+
return $this->get($this->getProjectPath($project_id, 'members'), array(
109109
'query' => $username_query
110110
));
111111
}
@@ -117,7 +117,7 @@ public function members($project_id, $username_query = null)
117117
*/
118118
public function member($project_id, $user_id)
119119
{
120-
return $this->get('projects/'.urlencode($project_id).'/members/'.urlencode($user_id));
120+
return $this->get($this->getProjectPath($project_id, 'members/'.urlencode($user_id)));
121121
}
122122

123123
/**
@@ -128,7 +128,7 @@ public function member($project_id, $user_id)
128128
*/
129129
public function addMember($project_id, $user_id, $access_level)
130130
{
131-
return $this->post('projects/'.urlencode($project_id).'/members', array(
131+
return $this->post($this->getProjectPath($project_id, 'members'), array(
132132
'user_id' => $user_id,
133133
'access_level' => $access_level
134134
));
@@ -142,7 +142,7 @@ public function addMember($project_id, $user_id, $access_level)
142142
*/
143143
public function saveMember($project_id, $user_id, $access_level)
144144
{
145-
return $this->put('projects/'.urlencode($project_id).'/members/'.urldecode($user_id), array(
145+
return $this->put($this->getProjectPath($project_id, 'members/'.urldecode($user_id)), array(
146146
'access_level' => $access_level
147147
));
148148
}
@@ -154,7 +154,7 @@ public function saveMember($project_id, $user_id, $access_level)
154154
*/
155155
public function removeMember($project_id, $user_id)
156156
{
157-
return $this->delete('projects/'.urlencode($project_id).'/members/'.urldecode($user_id));
157+
return $this->delete($this->getProjectPath($project_id, 'members/'.urldecode($user_id)));
158158
}
159159

160160
/**
@@ -165,7 +165,7 @@ public function removeMember($project_id, $user_id)
165165
*/
166166
public function hooks($project_id, $page = 1, $per_page = self::PER_PAGE)
167167
{
168-
return $this->get('projects/'.urlencode($project_id).'/hooks', array(
168+
return $this->get($this->getProjectPath($project_id, 'hooks'), array(
169169
'page' => $page,
170170
'per_page' => $per_page
171171
));
@@ -178,7 +178,7 @@ public function hooks($project_id, $page = 1, $per_page = self::PER_PAGE)
178178
*/
179179
public function hook($project_id, $hook_id)
180180
{
181-
return $this->get('projects/'.urlencode($project_id).'/hooks/'.urlencode($hook_id));
181+
return $this->get($this->getProjectPath($project_id, 'hooks/'.urlencode($hook_id)));
182182
}
183183

184184
/**
@@ -192,7 +192,7 @@ public function hook($project_id, $hook_id)
192192
*/
193193
public function addHook($project_id, $url, $push_events = true, $issues_events = false, $merge_requests_events = false, $tag_push_events = false)
194194
{
195-
return $this->post('projects/'.urlencode($project_id).'/hooks', array(
195+
return $this->post($this->getProjectPath($project_id, 'hooks'), array(
196196
'url' => $url,
197197
'push_events' => $push_events,
198198
'issues_events' => $issues_events,
@@ -233,7 +233,7 @@ public function updateHook($project_id, $hook_id, $url, $push_events = null, $is
233233
$params['tag_push_events'] = $tag_push_events;
234234
}
235235

236-
return $this->put('projects/'.urlencode($project_id).'/hooks/'.urlencode($hook_id), $params);
236+
return $this->put($this->getProjectPath($project_id, 'hooks/'.urlencode($hook_id)), $params);
237237
}
238238

239239
/**
@@ -243,7 +243,7 @@ public function updateHook($project_id, $hook_id, $url, $push_events = null, $is
243243
*/
244244
public function removeHook($project_id, $hook_id)
245245
{
246-
return $this->delete('projects/'.urlencode($project_id).'/hooks/'.urlencode($hook_id));
246+
return $this->delete($this->getProjectPath($project_id, 'hooks/'.urlencode($hook_id)));
247247
}
248248

249249
/**
@@ -252,7 +252,7 @@ public function removeHook($project_id, $hook_id)
252252
*/
253253
public function keys($project_id)
254254
{
255-
return $this->get('projects/'.urlencode($project_id).'/keys');
255+
return $this->get($this->getProjectPath($project_id, 'keys'));
256256
}
257257

258258
/**
@@ -262,7 +262,7 @@ public function keys($project_id)
262262
*/
263263
public function key($project_id, $key_id)
264264
{
265-
return $this->get('projects/'.urlencode($project_id).'/keys/'.urlencode($key_id));
265+
return $this->get($this->getProjectPath($project_id, 'keys/'.urlencode($key_id)));
266266
}
267267

268268
/**
@@ -273,7 +273,7 @@ public function key($project_id, $key_id)
273273
*/
274274
public function addKey($project_id, $title, $key)
275275
{
276-
return $this->post('projects/'.urlencode($project_id).'/keys', array(
276+
return $this->post($this->getProjectPath($project_id, 'keys'), array(
277277
'title' => $title,
278278
'key' => $key
279279
));
@@ -286,7 +286,7 @@ public function addKey($project_id, $title, $key)
286286
*/
287287
public function removeKey($project_id, $key_id)
288288
{
289-
return $this->delete('projects/'.urlencode($project_id).'/keys/'.urlencode($key_id));
289+
return $this->delete($this->getProjectPath($project_id, 'keys/'.urlencode($key_id)));
290290
}
291291

292292
/**
@@ -295,7 +295,7 @@ public function removeKey($project_id, $key_id)
295295
*/
296296
public function events($project_id)
297297
{
298-
return $this->get('projects/'.urlencode($project_id).'/events');
298+
return $this->get($this->getProjectPath($project_id, 'events'));
299299
}
300300

301301
/**
@@ -304,7 +304,7 @@ public function events($project_id)
304304
*/
305305
public function labels($project_id)
306306
{
307-
return $this->get('projects/'.urlencode($project_id).'/labels');
307+
return $this->get($this->getProjectPath($project_id, 'labels'));
308308
}
309309

310310
/**
@@ -314,7 +314,7 @@ public function labels($project_id)
314314
*/
315315
public function addLabel($project_id, array $params)
316316
{
317-
return $this->post('projects/'.urlencode($project_id).'/labels', $params);
317+
return $this->post($this->getProjectPath($project_id, 'labels', $params));
318318
}
319319

320320
/**
@@ -324,7 +324,7 @@ public function addLabel($project_id, array $params)
324324
*/
325325
public function updateLabel($project_id, array $params)
326326
{
327-
return $this->put('projects/'.urlencode($project_id).'/labels', $params);
327+
return $this->put($this->getProjectPath($project_id, 'labels', $params));
328328
}
329329

330330
/**
@@ -334,7 +334,7 @@ public function updateLabel($project_id, array $params)
334334
*/
335335
public function removeLabel($project_id, array $params)
336336
{
337-
return $this->delete('projects/'.urlencode($project_id).'/labels', $params);
337+
return $this->delete($this->getProjectPath($project_id, 'labels'), $params);
338338
}
339339

340340
/**
@@ -344,7 +344,7 @@ public function removeLabel($project_id, array $params)
344344
*/
345345
public function createForkRelation($project_id, $forked_project_id)
346346
{
347-
return $this->post('projects/'.urlencode($project_id).'/fork/'.urlencode($forked_project_id));
347+
return $this->post($this->getProjectPath($project_id, 'fork/'.urlencode($forked_project_id)));
348348
}
349349

350350
/**
@@ -353,7 +353,7 @@ public function createForkRelation($project_id, $forked_project_id)
353353
*/
354354
public function removeForkRelation($project_id)
355355
{
356-
return $this->delete('projects/'.urlencode($project_id).'/fork');
356+
return $this->delete($this->getProjectPath($project_id, 'fork'));
357357
}
358358

359359
/**
@@ -364,7 +364,7 @@ public function removeForkRelation($project_id)
364364
*/
365365
public function setService($project_id, $service_name, array $params = array())
366366
{
367-
return $this->put('projects/'.urlencode($project_id).'/services/'.urlencode($service_name), $params);
367+
return $this->put($this->getProjectPath($project_id, 'services/'.urlencode($service_name)), $params);
368368
}
369369

370370
/**
@@ -374,6 +374,6 @@ public function setService($project_id, $service_name, array $params = array())
374374
*/
375375
public function removeService($project_id, $service_name)
376376
{
377-
return $this->delete('projects/'.urlencode($project_id).'/services/'.urlencode($service_name));
377+
return $this->delete($this->getProjectPath($project_id, 'services/'.urlencode($service_name)));
378378
}
379379
}

0 commit comments

Comments
 (0)