Skip to content

Commit

Permalink
Merge pull request #5 from tamvodopad/master
Browse files Browse the repository at this point in the history
Add daily summary report request
  • Loading branch information
borivojevic authored Jun 9, 2016
2 parents d7f4726 + 378a6f0 commit b9975ec
Show file tree
Hide file tree
Showing 7 changed files with 2,044 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,6 @@
.composer/
vendor/
composer.lock

# Ignore IDE stuff
.idea
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,13 @@ $activities = $client->getActivities(
'restrict_kind' => 'category'
])
);

// Fetch daily productivity report data for past two weeks
$daily_summary = $client->getDailySummary();

foreach ($daily_summary as $day_summary) {
echo $day_summary->getTotalDurationFormatted();
}
```

You can build more complex queries and filter down the data by providing other query parameters:
Expand Down
27 changes: 27 additions & 0 deletions src/RescueTime/Client.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@

use RescueTime\RequestQueryParameters;


/**
* This class provides a client API for RescueTime Analytic Data API
*
Expand Down Expand Up @@ -86,4 +87,30 @@ public function getActivities(RequestQueryParameters $requestQueryParameters)

return $result ?: false;
}

/**
* Returns list of daily summary activities
*
*
* @return array<\RescueTime\DailyReport> All activities for previous two weeks without current day, or false if none found
*
* @throws \RuntimeException If API returns error
* @see \RescueTime\RequestQueryParameters
*/
public function getDailySummary()
{

$responseJsonArray = $this->httpClient->requestDailyReport();

if (array_key_exists('error', $responseJsonArray)) {
throw new \RuntimeException("API returned error: " . $responseJsonArray['error']);
}

$result = array();
foreach ($responseJsonArray as $responseRecord) {
$result[] = new DailyReport($responseRecord);
}

return $result ?: false;
}
}
Loading

0 comments on commit b9975ec

Please sign in to comment.