Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
100.00% |
1 / 1 |
|
100.00% |
5 / 5 |
CRAP | |
100.00% |
12 / 12 |
Package | |
100.00% |
1 / 1 |
|
100.00% |
5 / 5 |
5 | |
100.00% |
12 / 12 |
__construct | |
100.00% |
1 / 1 |
1 | |
100.00% |
4 / 4 |
|||
getProjectId | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
getApiKey | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
getHttpClient | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
getBasePath | |
100.00% |
1 / 1 |
1 | |
100.00% |
5 / 5 |
<?php | |
/** | |
* Crowdin API implementation in PHP. | |
* | |
* @copyright Copyright (C) 2016 Nikolai Plath (elkuku) | |
* @license WTFPL - See license.txt | |
*/ | |
namespace ElKuKu\Crowdin; | |
use GuzzleHttp\Client as HttpClient; | |
/** | |
* Class Package | |
* | |
* @since 1.0 | |
*/ | |
abstract class Package | |
{ | |
/** | |
* The Crowdin project id. | |
* @var string | |
*/ | |
private $projectId = ''; | |
/** | |
* The Crowdin API key. | |
* @var string | |
*/ | |
private $apiKey = ''; | |
/** | |
* The HTTP client object. | |
* @var HttpClient | |
*/ | |
private $httpClient = null; | |
/** | |
* Constructor. | |
* | |
* @param string $projectId The project ID. | |
* @param string $apiKey The API key | |
* @param HttpClient $httpClient The HTTP client object. | |
*/ | |
public function __construct(string $projectId, string $apiKey, HttpClient $httpClient) | |
{ | |
$this->projectId = $projectId; | |
$this->apiKey = $apiKey; | |
$this->httpClient = $httpClient; | |
} | |
/** | |
* Get the project ID. | |
* | |
* @return string | |
*/ | |
protected function getProjectId() : string | |
{ | |
return $this->projectId; | |
} | |
/** | |
* Get the API key. | |
* | |
* @return string | |
*/ | |
protected function getApiKey() : string | |
{ | |
return $this->apiKey; | |
} | |
/** | |
* Get the HTTP client object. | |
* | |
* @return HttpClient | |
*/ | |
protected function getHttpClient() : HttpClient | |
{ | |
return $this->httpClient; | |
} | |
/** | |
* Get the base path for the command including an action. | |
* | |
* @param string $action The action to perform. | |
* | |
* @return string | |
*/ | |
protected function getBasePath(string $action) : string | |
{ | |
return sprintf( | |
'project/%s/%s?key=%s', | |
$this->getProjectId(), | |
$action, | |
$this->getApiKey() | |
); | |
} | |
} |