/home/techb158/ileadtechnology.com/SSM/vendor/nexmo/client-core/src/Network/Number
Edit: /home/techb158/ileadtechnology.com/SSM/vendor/nexmo/client-core/src/Network/Number/Response.php (2534B)
expected = array_merge($this->expected, array(
'request_id', 'number', 'request_price', 'remaining_balance', 'callback_total_parts'
));
parent::__construct($data);
foreach ($callbacks as $callback) {
if (!($callback instanceof Callback)) {
throw new \InvalidArgumentException('callback must be of type: Nexmo\Network\Number\Callback');
}
if ($callback->getId() !== $this->getId()) {
throw new \InvalidArgumentException('callback id must match request id');
}
}
$this->callbacks = $callbacks;
}
public function getCallbackTotal()
{
return $this->data['callback_total_parts'];
}
public function isComplete()
{
return count($this->callbacks) == $this->getCallbackTotal();
}
public function getPrice()
{
return $this->data['request_price'];
}
public function getBalance()
{
return $this->data['remaining_balance'];
}
public function getNumber()
{
return $this->data['number'];
}
public function getId()
{
return $this->data['request_id'];
}
public function getStatus()
{
return $this->data['status'];
}
public function __call($name, $args)
{
if (empty($this->callbacks)) {
throw new \BadMethodCallException('can not check for response data without callback data');
}
foreach ($this->callbacks as $callback) {
if ($last = $callback->$name()) {
return $last;
}
}
return $last;
}
public function getCallbacks()
{
return $this->callbacks;
}
public static function addCallback(Response $response, Callback $callback)
{
$callbacks = $response->getCallbacks();
$callbacks[] = $callback;
return new static($response->getData(), $callbacks);
}
}