SingletonResource::scopedSingletonRetrieve()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 4
c 0
b 0
f 0
nc 1
nop 2
dl 0
loc 8
rs 9.4285
ccs 4
cts 4
cp 1
crap 1
1
<?php namespace Arcanedev\Stripe;
2
3
/**
4
 * Class     SingletonResource
5
 *
6
 * @package  Arcanedev\Stripe
7
 * @author   ARCANEDEV <[email protected]>
8
 */
9
class SingletonResource extends StripeResource
10
{
11
    /* ------------------------------------------------------------------------------------------------
12
     |  Main Functions
13
     | ------------------------------------------------------------------------------------------------
14
     */
15
    /**
16
     * Retrieve a singleton resource
17
     *
18
     * @param  string             $class
19
     * @param  array|string|null  $apiKey
20
     *
21
     * @return SingletonResource
22
     */
23 4
    protected static function scopedSingletonRetrieve($class, $apiKey = null)
24
    {
25
        /** @var self $instance */
26 4
        $instance = new $class(null, $apiKey);
27 4
        $instance->refresh();
28
29 4
        return $instance;
30
    }
31
32
    /**
33
     * Get resource URL.
34
     *
35
     * @param  string  $class
36
     *
37
     * @return string - The endpoint associated with this singleton class.
38
     */
39 4
    public static function classUrl($class = '')
40
    {
41 4
        return '/v1/'.self::className($class);
42
    }
43
44
    /**
45
     * The endpoint associated with this singleton API resource.
46
     *
47
     * @param  string  $class
48
     *
49
     * @return string
50
     */
51 4
    public function instanceUrl($class = '')
52
    {
53 4
        return (string) self::classUrl(get_class($this));
54
    }
55
}
56