<?php namespace Telnyx; /** * Class SingletonApiResource * * @package Telnyx */ 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 "/v2/foo/bar". $base = str_replace('.', '/', static::OBJECT_NAME); return "/v2/${base}"; } /** * @return string The endpoint associated with this singleton API resource. */ public function instanceUrl() { return static::classUrl(); } }