blob: 704cff874bbb539d61902ae356a87cc1a4f2b051 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
<?php
namespace Stripe;
/**
* Class SingletonApiResource.
*/
abstract class SingletonApiResource extends ApiResource
{
protected static function _singletonRetrieve($options = null)
{
$opts = Util\RequestOptions::parse($options);
$instance = new static(null, $opts);
$instance->refresh();
return $instance;
}
/**
* @return string the endpoint associated with this singleton class
*/
public static function classUrl()
{
// Replace dots with slashes for namespaced resources, e.g. if the object's name is
// "foo.bar", then its URL will be "/v1/foo/bar".
$base = \str_replace('.', '/', static::OBJECT_NAME);
return "/v1/{$base}";
}
/**
* @return string the endpoint associated with this singleton API resource
*/
public function instanceUrl()
{
return static::classUrl();
}
}
|