-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Yaroslav Shestakov
committed
Nov 5, 2019
0 parents
commit 4689190
Showing
86 changed files
with
13,106 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
# Tampere Journey API SDK | ||
|
||
This is an unofficial SDK release for [Tampere Journeys API](http://wiki.itsfactory.fi/index.php/Journeys_API). | ||
|
||
# Installation | ||
Install using composer: `composer require vikingmaster/tampere` | ||
|
||
# Usage | ||
Creating an API Client instance. Available config parameters: | ||
* `baseUri` Base URI to make requests to | ||
* `timeout` (optional) Http request timeout in seconds | ||
* `userAgent` (optional) User-Agent header | ||
|
||
```php | ||
$api = new \Vikingmaster\TampereJourneysApiSdk\TampereJourneysApiClient([ | ||
'baseUri' => 'http://data.itsfactory.fi/journeys/api' | ||
]); | ||
``` | ||
|
||
### Fetching lines: | ||
```php | ||
//Fetch lines | ||
$request = $api->makeGetLinesRequest() | ||
->setIndent(true) | ||
->setDescription('Description') | ||
; | ||
$response = $request->send(); | ||
$lines = $response->getLines(); | ||
``` | ||
|
||
### Fetching journey patterns | ||
```php | ||
$request = $api->makeGetJourneyPatternsRequest() | ||
->setFirstStopPointId(1) | ||
->setLastStopPointId(2) | ||
->setLineId(17) | ||
->setName("Nokian asema C - Keho") | ||
; | ||
$response = $request->send(); | ||
$patterns = $response->getJourneyPatterns(); | ||
``` | ||
|
||
|
||
# Exception handling | ||
When there is a request error, TampereJourneyApiException will be thrown: | ||
|
||
```php | ||
use \Vikingmaster\TampereJourneysApiSdk\Exceptions\TampereJourneyApiException; | ||
|
||
try { | ||
$response = $request->send(); | ||
} catch (TampereJourneyApiException $e) { | ||
//These methods are available for problem tracing | ||
$apiError = $e->getApiError(); | ||
$request = $e->getRequest(); | ||
$response = $e->getResponse(); | ||
$apiClient = $e->getApiClient(); | ||
} catch (\Exception $e) { | ||
//Any other errors such as network or configuration error | ||
} | ||
``` | ||
|
||
# Pagination | ||
Some of the responses can be long, so multiple requests might be needed to fetch everything | ||
|
||
```php | ||
/** @var array|\Vikingmaster\TampereJourneysApiSdk\Dto\Line[] $entries */ | ||
$entries = []; | ||
|
||
$startIndex = 0; | ||
$fetch = true; | ||
|
||
while ($fetch) { | ||
try { | ||
$response = $request->setStartIndex($startIndex)->send(); | ||
} catch (\Exception $e) { | ||
//Handle exception / resend the request | ||
break; | ||
} | ||
|
||
$startIndex = $response->getPaging()->getPageSize(); | ||
$fetch = $response->getPaging()->hasMoreData(); | ||
|
||
$entries = array_merge($entries, $response->getLines()); | ||
|
||
if ($startIndex >= 100) { | ||
break; | ||
} | ||
} | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,197 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="UTF-8"> | ||
<title>Code Coverage for C:\Users\yaros\Projects\Yaroslav\php-packages\packages\vikingmaster\tampere-journeys-api-sdk\src\Dto\ApiError.php</title> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
<link href="../_css/bootstrap.min.css" rel="stylesheet" type="text/css"> | ||
<link href="../_css/octicons.css" rel="stylesheet" type="text/css"> | ||
<link href="../_css/style.css" rel="stylesheet" type="text/css"> | ||
<link href="../_css/custom.css" rel="stylesheet" type="text/css"> | ||
</head> | ||
<body> | ||
<header> | ||
<div class="container-fluid"> | ||
<div class="row"> | ||
<div class="col-md-12"> | ||
<nav aria-label="breadcrumb"> | ||
<ol class="breadcrumb"> | ||
<li class="breadcrumb-item"><a href="../index.html">C:\Users\yaros\Projects\Yaroslav\php-packages\packages\vikingmaster\tampere-journeys-api-sdk\src</a></li> | ||
<li class="breadcrumb-item"><a href="index.html">Dto</a></li> | ||
<li class="breadcrumb-item active">ApiError.php</li> | ||
|
||
</ol> | ||
</nav> | ||
</div> | ||
</div> | ||
</div> | ||
</header> | ||
<div class="container-fluid"> | ||
<div class="table-responsive"> | ||
<table class="table table-bordered"> | ||
<thead> | ||
<tr> | ||
<td> </td> | ||
<td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td> | ||
</tr> | ||
<tr> | ||
<td> </td> | ||
<td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td> | ||
<td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td> | ||
<td colspan="3"><div align="center"><strong>Lines</strong></div></td> | ||
</tr> | ||
</thead> | ||
<tbody> | ||
<tr> | ||
<td class="success">Total</td> | ||
<td class="success big"> <div class="progress"> | ||
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> | ||
<span class="sr-only">100.00% covered (success)</span> | ||
</div> | ||
</div> | ||
</td> | ||
<td class="success small"><div align="right">100.00%</div></td> | ||
<td class="success small"><div align="right">1 / 1</div></td> | ||
<td class="success big"> <div class="progress"> | ||
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> | ||
<span class="sr-only">100.00% covered (success)</span> | ||
</div> | ||
</div> | ||
</td> | ||
<td class="success small"><div align="right">100.00%</div></td> | ||
<td class="success small"><div align="right">2 / 2</div></td> | ||
<td class="success small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td> | ||
<td class="success big"> <div class="progress"> | ||
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> | ||
<span class="sr-only">100.00% covered (success)</span> | ||
</div> | ||
</div> | ||
</td> | ||
<td class="success small"><div align="right">100.00%</div></td> | ||
<td class="success small"><div align="right">2 / 2</div></td> | ||
</tr> | ||
|
||
<tr> | ||
<td class="success"><abbr title="Vikingmaster\TampereJourneysApiSdk\Dto\ApiError">ApiError</abbr></td> | ||
<td class="success big"> <div class="progress"> | ||
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> | ||
<span class="sr-only">100.00% covered (success)</span> | ||
</div> | ||
</div> | ||
</td> | ||
<td class="success small"><div align="right">100.00%</div></td> | ||
<td class="success small"><div align="right">1 / 1</div></td> | ||
<td class="success big"> <div class="progress"> | ||
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> | ||
<span class="sr-only">100.00% covered (success)</span> | ||
</div> | ||
</div> | ||
</td> | ||
<td class="success small"><div align="right">100.00%</div></td> | ||
<td class="success small"><div align="right">2 / 2</div></td> | ||
<td class="success small">2</td> | ||
<td class="success big"> <div class="progress"> | ||
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> | ||
<span class="sr-only">100.00% covered (success)</span> | ||
</div> | ||
</div> | ||
</td> | ||
<td class="success small"><div align="right">100.00%</div></td> | ||
<td class="success small"><div align="right">2 / 2</div></td> | ||
</tr> | ||
|
||
<tr> | ||
<td class="success" colspan="4"> <a href="#10"><abbr title="getMessage()">getMessage</abbr></a></td> | ||
<td class="success big"> <div class="progress"> | ||
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> | ||
<span class="sr-only">100.00% covered (success)</span> | ||
</div> | ||
</div> | ||
</td> | ||
<td class="success small"><div align="right">100.00%</div></td> | ||
<td class="success small"><div align="right">1 / 1</div></td> | ||
<td class="success small">1</td> | ||
<td class="success big"> <div class="progress"> | ||
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> | ||
<span class="sr-only">100.00% covered (success)</span> | ||
</div> | ||
</div> | ||
</td> | ||
<td class="success small"><div align="right">100.00%</div></td> | ||
<td class="success small"><div align="right">1 / 1</div></td> | ||
</tr> | ||
|
||
<tr> | ||
<td class="success" colspan="4"> <a href="#18"><abbr title="getTitle()">getTitle</abbr></a></td> | ||
<td class="success big"> <div class="progress"> | ||
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> | ||
<span class="sr-only">100.00% covered (success)</span> | ||
</div> | ||
</div> | ||
</td> | ||
<td class="success small"><div align="right">100.00%</div></td> | ||
<td class="success small"><div align="right">1 / 1</div></td> | ||
<td class="success small">1</td> | ||
<td class="success big"> <div class="progress"> | ||
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> | ||
<span class="sr-only">100.00% covered (success)</span> | ||
</div> | ||
</div> | ||
</td> | ||
<td class="success small"><div align="right">100.00%</div></td> | ||
<td class="success small"><div align="right">1 / 1</div></td> | ||
</tr> | ||
|
||
|
||
</tbody> | ||
</table> | ||
</div> | ||
<table id="code" class="table table-borderless table-condensed"> | ||
<tbody> | ||
<tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default"><?php</span></td></tr> | ||
<tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr> | ||
<tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"><span class="keyword">namespace</span><span class="default"> </span><span class="default">Vikingmaster</span><span class="default">\</span><span class="default">TampereJourneysApiSdk</span><span class="default">\</span><span class="default">Dto</span><span class="keyword">;</span></td></tr> | ||
<tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"></td></tr> | ||
<tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"><span class="keyword">class</span><span class="default"> </span><span class="default">ApiError</span><span class="default"> </span><span class="keyword">extends</span><span class="default"> </span><span class="default">BaseDto</span></td></tr> | ||
<tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"><span class="keyword">{</span></td></tr> | ||
<tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"><span class="default"> </span><span class="comment">/**</span></td></tr> | ||
<tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"><span class="comment"> * @return string|null</span></td></tr> | ||
<tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"><span class="comment"> */</span></td></tr> | ||
<tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">public</span><span class="default"> </span><span class="keyword">function</span><span class="default"> </span><span class="default">getMessage</span><span class="keyword">(</span><span class="keyword">)</span></td></tr> | ||
<tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">{</span></td></tr> | ||
<tr class="covered-by-large-tests popin"><td data-title="1 test covers line 12" data-content="<ul><li class="covered-by-large-tests">Vikingmaster\TampereJourneysApiSdk\Tests\Unit\ApiErrorTest::test_get_message</li></ul>" data-placement="top" data-html="true"><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="default"> </span><span class="default">$this</span><span class="default">-></span><span class="default">getAttribute</span><span class="keyword">(</span><span class="default">'message'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr> | ||
<tr class="warning"><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr> | ||
<tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"></td></tr> | ||
<tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"><span class="default"> </span><span class="comment">/**</span></td></tr> | ||
<tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"><span class="comment"> * @return string|null</span></td></tr> | ||
<tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"><span class="comment"> */</span></td></tr> | ||
<tr><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">public</span><span class="default"> </span><span class="keyword">function</span><span class="default"> </span><span class="default">getTitle</span><span class="keyword">(</span><span class="keyword">)</span></td></tr> | ||
<tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">{</span></td></tr> | ||
<tr class="covered-by-large-tests popin"><td data-title="1 test covers line 20" data-content="<ul><li class="covered-by-large-tests">Vikingmaster\TampereJourneysApiSdk\Tests\Unit\ApiErrorTest::test_get_title</li></ul>" data-placement="top" data-html="true"><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">return</span><span class="default"> </span><span class="default">$this</span><span class="default">-></span><span class="default">getAttribute</span><span class="keyword">(</span><span class="default">'title'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr> | ||
<tr class="warning"><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"><span class="default"> </span><span class="keyword">}</span></td></tr> | ||
<tr><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr> | ||
|
||
</tbody> | ||
</table> | ||
<footer> | ||
<hr/> | ||
<h4>Legend</h4> | ||
<p> | ||
<span class="success"><strong>Executed</strong></span> | ||
<span class="danger"><strong>Not Executed</strong></span> | ||
<span class="warning"><strong>Dead Code</strong></span> | ||
</p> | ||
<p> | ||
<small>Generated by <a href="https://github.com/sebastianbergmann/php-code-coverage" target="_top">php-code-coverage 7.0.8</a> using <a href="https://secure.php.net/" target="_top">PHP 7.2.22</a> with <a href="https://xdebug.org/">Xdebug 2.6.1</a> and <a href="https://phpunit.de/">PHPUnit 8.4.2</a> at Tue Nov 5 17:03:24 CET 2019.</small> | ||
</p> | ||
<a title="Back to the top" id="toplink" href="#"> | ||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="16" viewBox="0 0 12 16"><path fill-rule="evenodd" d="M12 11L6 5l-6 6h12z"/></svg> | ||
</a> | ||
</footer> | ||
</div> | ||
<script src="../_js/jquery.min.js" type="text/javascript"></script> | ||
<script src="../_js/popper.min.js" type="text/javascript"></script> | ||
<script src="../_js/bootstrap.min.js" type="text/javascript"></script> | ||
<script src="../_js/file.js" type="text/javascript"></script> | ||
</body> | ||
</html> |
Oops, something went wrong.