Skip to content

Commit 8d790c7

Browse files
committed
Simplified class constructors
1 parent 4fad5ac commit 8d790c7

File tree

5 files changed

+28
-29
lines changed

5 files changed

+28
-29
lines changed

src/API.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ public function getPlaylists()
8585
$playlists = $this->request('/bot/playlists');
8686
$out = [];
8787
foreach ($playlists as $playlist) {
88-
array_push($out, new Playlist($this->token, $this->url, $this->timeout, $playlist));
88+
array_push($out, new Playlist($this, $playlist));
8989
}
9090
return $out;
9191
}
@@ -102,7 +102,7 @@ public function createPlaylist($playlistName)
102102
"name" => $playlistName,
103103
]);
104104
$resp['name'] = $playlistName;
105-
return new Playlist($this->token, $this->url, $this->timeout, $resp);
105+
return new Playlist($this, $resp);
106106
}
107107

108108
/**
@@ -300,7 +300,7 @@ public function getUsers()
300300
$users = $this->request('/bot/users');
301301
$out = [];
302302
foreach ($users as $user) {
303-
array_push($out, new User($this->token, $this->url, $this->timeout, $user));
303+
array_push($out, new User($this, $user));
304304
}
305305
return $out;
306306
}
@@ -369,7 +369,7 @@ public function getInstances()
369369
$instances = $this->request('/bot/instances');
370370
$out = [];
371371
foreach ($instances as $instance) {
372-
array_push($out, new Instance($this->token, $this->url, $this->timeout, $instance));
372+
array_push($out, new Instance($this, $instance));
373373
}
374374
return $out;
375375
}
@@ -448,6 +448,6 @@ public function getInstanceByUUID($uuid)
448448
{
449449
$instance = $this->request("/bot/i/".$uuid."/settings");
450450
$instance['uuid'] = $uuid;
451-
return new Instance($this->token, $this->url, $this->timeout, $instance);
451+
return new Instance($this, $instance);
452452
}
453453
}

src/Instance.php

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,13 @@ class Instance extends RestClient
3030
/**
3131
* __construct
3232
*
33-
* @param string $token SinusBot auth token
34-
* @param string $url SinusBot Bot URL
35-
* @param int $timeout HTTP Timeout which is used to perform HTTP API requests
36-
* @param array $instance SinusBot Instance array.
33+
* @param API $api SinusBot API
34+
* @param array $instance SinusBot Instance array
3735
* @return void
3836
*/
39-
public function __construct($token, $url, $timeout, $instance)
37+
public function __construct($api, $instance)
4038
{
41-
$this->token = $token;
42-
$this->url = $url;
43-
$this->timeout = $timeout;
39+
parent::__construct($api);
4440
$this->uuid = $instance['uuid'];
4541
$this->instance = $instance;
4642
}

src/Playlist.php

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,13 @@ class Playlist extends RestClient
3030
/**
3131
* __construct
3232
*
33-
* @param string $token SinusBot auth token
34-
* @param string $url SinusBot Bot URL
35-
* @param int $timeout HTTP Timeout which is used to perform HTTP API requests
33+
* @param API $api SinusBot API
3634
* @param array $playlist SinusBot Playlist array.
3735
* @return void
3836
*/
39-
public function __construct($token, $url, $timeout, $playlist)
37+
public function __construct($api, $playlist)
4038
{
41-
$this->token = $token;
42-
$this->url = $url;
43-
$this->timeout = $timeout;
39+
parent::__construct($api);
4440
$this->uuid = $playlist['uuid'];
4541
$this->playlist = $playlist;
4642
}

src/RestClient.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,18 @@ class RestClient
3838
*/
3939
protected $headers = [];
4040
/**
41+
* __construct
42+
*
43+
* @param API $api SinusBot API
44+
*/
45+
protected function __construct($api)
46+
{
47+
$this->token = $api->token;
48+
$this->url = $api->url;
49+
$this->timeout = $api->timeout;
50+
$this->headers = $api->headers;
51+
}
52+
/**
4153
* request executes a request to the SinusBot API
4254
*
4355
* @param string $path /api/v1/<path>

src/User.php

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,12 @@ class User extends RestClient
3030
/**
3131
* __construct
3232
*
33-
* @param string $token SinusBot auth token
34-
* @param string $url SinusBot Bot URL
35-
* @param int $timeout HTTP Timeout which is used to perform HTTP API requests
36-
* @param array $user SinusBot User array.
37-
* @return void
33+
* @param API $api SinusBot API
34+
* @param array $user SiusBot User array
3835
*/
39-
public function __construct($token, $url, $timeout, $user)
36+
public function __construct($api, $user)
4037
{
41-
$this->token = $token;
42-
$this->url = $url;
43-
$this->timeout = $timeout;
38+
parent::__construct($api);
4439
$this->uuid = $user['id'];
4540
$this->user = $user;
4641
}

0 commit comments

Comments
 (0)