NAME
WebService::Toggl::Report::Weekly - Toggl weekly aggregated report object
SYNOPSIS
use
WebService::Toggl;
my
$toggl
= WebService::Toggl->new({
api_key
=>
'foo'
});
my
$report
=
$toggl
->weekly({
workspace_id
=> 1234,
grouping
=>
'projects'
,
calculate
=>
'earnings'
,
});
say
$report
->total_billable;
# billable milliseconds
say
$report
->week_totals;
# array of totals per day
for
$project
(@{
$report
->data }) {
say
"Project $project->{title}{project} earned "
.
"$project->{amount}[7] $project->{currency} this week."
;
for
my
$user
(
$projects
->{details}) {
say
" User $user->{title}{user} contributed "
.
"$user->{amount}[7] $user->{currency} to that total"
;
}
}
DESCRIPTION
This module is a wrapper object around the Toggl weekly report described here. It returns a report of either time spent or earnings grouped by either project or user.
REQUEST ATTRIBUTES
Request attributes common to all reports are detailed in the ::Role::Request pod.
The until
attribute is ignored for the weekly report. It is always assumed to be since
plus six days (for a total of seven).
grouping
Which metric to group reports by. Must be either projects
or users
. Whichever is not selected is used as the subgrouping parameter.
calculate
The property to aggregate. Must be one of time
or earnings
.
RESPONSE ATTRIBUTES
Response attributes common to all reports are detailed in the ::Role::Request pod.
weekly_totals
Eight-element array ref showing aggregated totals of the "calculate" property for each day, with a sum total as the last element.
REPORT DATA
The data
attribute of a ::Report::Weekly
object is an arrayref of hashrefs representing the "grouping" property. It contains a details
key with an array of hashrefs representing the subgrouping parameter. If the "calculate" property is time
, the data
attribute will contain a totals
key with the daily time aggregates. If "calculate" is earnings
, it will contain a currency
key and an amounts
key with the daily aggregated earnings. For more details, see the Toggl API docs.
LICENSE
Copyright (C) Fitz Elliott.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Fitz Elliott <felliott@fiskur.org>