Completed
Push — master ( 3bfc2b...9b837d )
by Steven
01:45
created

Drivers::getDriverProfile()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 4
ccs 2
cts 2
cp 1
rs 10
cc 1
eloc 2
nc 1
nop 0
crap 1
1
<?php namespace Stevenmaguire\Uber\Resources;
2
3
trait Drivers
4
{
5
    /**
6
     * Fetches the profile for the current driver.
7
     *
8
     * The Profile endpoint returns the profile of the authenticated driver.
9
     * A profile includes information such as name, email, rating, and activation status.
10
     *
11
     * @return   stdClass               The JSON response from the request
12
     *
13
     * @see      https://developer.uber.com/docs/drivers/references/api/v1/partners-me-get
14
     */
15 2
    public function getDriverProfile()
16
    {
17 2
        return $this->request('get', 'partners/me');
18
    }
19
20
    /**
21
     * Makes a request to the Uber API and returns the response.
22
     *
23
     * @param    string $verb       The Http verb to use
24
     * @param    string $path       The path of the APi after the domain
25
     * @param    array  $parameters Parameters
26
     *
27
     * @return   stdClass The JSON response from the request
28
     * @throws   Exception
29
     */
30
    abstract protected function request($verb, $path, $parameters = []);
31
32
    /**
33
     * Lists payments for the current driver.
34
     *
35
     * The Earnings endpoint returns an array of payments for the given driver.
36
     * Payments are available at this endpoint in near real-time. Some entries,
37
     * such as device_subscription will appear on a periodic basis when actually
38
     * billed to the partner.
39
     *
40
     * If a trip is cancelled (either by rider or driver) and there is no payment
41
     * made, the corresponding trip_id of that cancelled trip will not appear in
42
     * this endpoint. If the given driver works for a fleet manager, there will
43
     * be no payments associated and the response will always be an empty array.
44
     * Drivers working for fleet managers will receive payments from the fleet
45
     * manager and not from Uber.
46
     *
47
     * @param array $attributes
48
     *
49
     * @return   stdClass               The JSON response from the request
50
     *
51
     * @see      https://developer.uber.com/docs/drivers/references/api/v1/partners-payments-get
52
     */
53 2
    public function getDriverPayments($attributes = [])
54
    {
55 2
        return $this->request('get', '/partners/payments', $attributes);
56
    }
57
58
    /**
59
     * Lists trips for the current driver.
60
     *
61
     * The Trip History endpoint returns an array of trips for the authenticated
62
     * driver.
63
     *
64
     * @param array $attributes
65
     *
66
     * @return   stdClass               The JSON response from the request
67
     *
68
     * @see      https://developer.uber.com/docs/drivers/references/api/v1/partners-trips-get
69
     */
70 2
    public function getDriverTrips($attributes = [])
71
    {
72 2
        return $this->request('get', '/partners/trips', $attributes);
73
    }
74
}
75